㈠ java 类变量 静态变量
publicclassDemo
{
privateinta;//实例变量
privatestaticinta;//静态变量(也叫类变量)
publicvoidfun1(){
//这个是实例方法
}
publicvoidstaticfun2(){
//这个是静态方法(类方法)
}
}
publicstaticvoidmain(String[]args){
//这里调用实例方法
Demodemo=newDemo();
demo.fun1();
//这里调用静态方法
Demo.fun2();
}
㈡ java中什么方法可以定义静态变量
java中什么方法可以定义静态变量
静态变量
可以将静态变量理解为类变量(与对象无关),而实例变量则属于一个特定的对象。
静态变量有两种情况:
静态变量是基本数据类型,这种情况下在类的外部不必创建该类的实例就可以直接使用
静态变量是一个引用。这种情况比较特殊,主要问题是由于静态变量是一个对象的引用,那么必须初始化这个对象之后才能将引用指向它。因此如果要把一个引用定义成static的,就必须在定义的时候就对其对象进行初始化。
静态方法
与类变量不同,方法(静态方法与实例方法)在内存中只有一份,无论该类有多少个实例,都共用一个方法。
静态方法与实例方法的不同主要有:
静态方法可以直接使用,而实例方法必须在类实例化之后通过对象来调用。
在外部调用静态方法时,可以使用“类名.方法名”或者“对象名.方法名”的形式。实例方法只能使用后面这种方式。
静态方法只允许访问静态成员。而实例方法中可以访问静态成员和实例成员。
静态方法中不能使用this(因为this是与实例相关的)。
㈢ Java中静态常量和静态变量的区别
静态变量是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由static加以定义后才能成为静态外部变量,或称静态全局变量。
对于自动变量,它属于动态存储方式。但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。
而在以Pascal为代表的许多程序语言中,所有局部变量都由系统自动分配存储空间,而所有全局变量的存储空间则以静态分配的方式获取,因此由于实际上“局部变量”和“全局变量”这两个术语已足以涵盖所有的情况,在这些程序语言中通常不使用“静态变量”这一术语,而直接以“全局变量”代之。
在这些程序语言中,静态变量就是全局变量,而即使在有明确区分全局和静态变量的程序语言中,在编译后的代码里二者也以相同的方式获取存储空间。而今术语“静态变量”的概念则主要基于C族语言的“static”的定义。
静态变量也可以用于存储常数。具体来说,静态变量可用const,constant或final等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区。
㈣ 在java语言中,静态变量和普通变量有什么区别
静态变量是从属于类的,在java虚拟机加载的时候就会在内存中加载这个变量,可以用类直接调用。
而普通的变量是从属于对象的,只有用对象来使用
㈤ java为什么要使用静态变量或静态方法
以下是我复制的说的很好:
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量!
我在补充一下:
静态还有一个好处,可以代替包,有些时候不想用一个包,来封装一个类做一个公共的数据使用的时候,就可以通过静态属性来完成!
㈥ java的静态方法中不能有静态变量
静态即:一个数据成员或方法属于它所在的类,而不象一般数据成员或方法,只属于它所在的对象,对象不同,数据成员的值也不同。 静态方法里的变量是临时变量,只在静态方法里有效。而声明STATIC表示该变量属于类。静态变量相当于C语言的全局变量.既然加了static的变量是类一级数据成员,有什么理由放在一个方法里面。方法里面的应该是局部的只有本方法才会用的,在方法里面声明一个类一级的数据成员有何意义呢? 所以JAVA不允许这样做。 要提醒一下,一般的方法同样不能声明静态数据成员。
㈦ java静态变量的基本介绍
1·、static应用范围:可用于内部类、方法和变量。
2、标记一个方法为static,意味着这个方法,被所在类的所有实例公用,在类装载时被首先执行,执行一次即被所有该类的实例共享,同时意味着:
A、static方法内部不能引用非static变量。
B、static方法不能被子类重写为非static方法。
C、父类的非static方法不能被子类重写为static方法。
D、static代码块可以用static {}来完成,在类被第一次装载时执行初始化,先于静态方法和其他方法的执行。
3、标记一个变量为static,则该变量在内存中有不变的位置,相当于全局变量,所有类的实例都访问同一个存储变量区域。对其修改对于所有类的实例来说都是可见和一致的。
㈧ java中静态变量和静态方法的优缺点
java 里的静态可以说就是全局变量,它是属于类的,类存在它就已经存在了,方法也是一样,静态方法里面使用到的外部变量只能是静态变量,想想就知道了.
但是不要随便定义成静态方法, 因为静态方法内部只能使用静态变量,而静态变量是属于类的, 如果都是静态方法那么这个类就没有实力化的必要.所以一般的工具类才使用较多的静态方法
㈨ java的静态变量 static
1.首先你 for (i = 0; i < 3; i++) 里的i就是那个静态的i了 你把i=0了 于是静态的i就变成0了 于是执行完循环i就变成3了
2.你的for循环并没有定义局部的i 亲
把那个for循环改成for ( int i = 0; i < 3; i++)
就可以了
㈩ java如何存取静态变量
无论是静态的属性和方法都可以使用 类名.属性名或类名.方法名这样的方式进行直接调用。当然由于一般 属性和方法的调用也是可以的哦。