微信扫一扫
查看招生简章

java中类变量和一般变量的区别

来源:网络
类变量是声明在class内,method之外,且使用static修饰的变量。
实例变量是声明在class内,method之外,且未使用static修饰的变量。
类变量与实例变量的区别是:
1)存储位置不同。静态变量存储于方法区,而实例变量存储于堆区。
2)生命周期不同。静态变量在加载类过程中优先加载,其生命周期取决于类的生命周期;实例变量在创建实例时才创建,它的生命周期取决于实例的生命周期。
3)引用对象不同。静态变量属于类,被类的所有实例共享,可以直接使用类名来引用也可以通过类的实例引用;而实例变量则属于某个对象,它必须在创建对象后才可以通过这个对象来使用。
4)使用方法不同。一个类只能有一个同名静态变量,无论是通过类或者任何一个实例对静态变量重新赋值,结果都是一样;而一个类创建多少个实例就会有多少个同名实例变量,各实例变量存储空间不同,对其中一个实例变量重新赋值不影响其它实例的同名变量。

实例如下:
public class VariantTest{
public static int staticVar = 0; 
public int instanceVar = 0; 
public VariantTest(){
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
}
 
public static void main(String[] args) {
VariantTest a=new VariantTest();
VariantTest b=new VariantTest();
}
}

运行结果为:

staticVar=1,instanceVar=1
staticVar=2,instanceVar=1



北大青鸟招生简章

职教规划指导

周老师

周老师

从事职业教育指导规划十年有余,致力于帮助广大学子找到更适合自己的升学指导规划

立即在线咨询