以下是类(静态)变量和实例变量之间的显着区别:
实例变量 | 静态(类)变量 |
---|---|
实例变量在类中声明,但在方法、构造函数或任何块之外声明。 | 类变量也称为静态变量,在类中使用 static 关键字声明,但在方法、构造函数或块之外。 |
实例变量在使用关键字new 创建对象时创建,并在销毁对象时销毁。 |
静态变量在程序启动时创建,在程序停止时销毁。 |
可以通过调用类中的变量名直接访问实例变量。但是,在静态方法中(当实例变量被赋予可访问性时),应使用完全限定名调用它们。 | 静态变量可以通过调用类名 ClassName.VariableName 来访问。 |
实例变量保存的值必须由多个方法、构造函数或块引用,或者对象状态的基本部分必须存在于整个类中。 | 每个类每个类变量只有一个副本,无论从它创建多少个对象。 |
示例代码:
public class VariableExample{
int myVariable=999;
static int data = 10010;
public static void main(String args[]){
VariableExample obj = new VariableExample();
System.out.println("Value of instance variable: "+obj.myVariable);
System.out.println("Value of static variable: "+VariableExample.data);
}
}
运行结果:
Value of instance variable: 999
Value of static variable: 10010