Talk is cheap,Show me the code.
public class Variable {
private static int a = 10; //类变量,用static修饰
private int a1 = 10; //实例变量,不用static修饰
public static void main(String[] args) {
//对象1
Variable e1 = new Variable();
e1.a = 20;
e1.a1 = 21;
System.out.println("类变量a:" +e1.a);
System.out.println("实例变量a1:"+e1.a1);
//对象2
Variable e2 = new Variable();
System.out.println("类变量a:"+e2.a);
System.out.println("实例变量a1:"+e2.a1);
}
}
类变量a:20
实例变量a1:21
类变量a:20
实例变量a1:10
类变量(静态变量):
- 在类中用static修饰
- 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝
- 在第一个被访问时创建,在程序结束时销毁
实例变量:
- 在类中不用static修饰
- 当一个对象被实例化之后,每个实例变量的值就跟着确定
- 实例变量在对象创建的时候创建,在对象被销毁的时候销毁
一句话总结:类变量作用于类,实例变量作用于对象中。