相同点:
实例变量和静态变量都属于成员变量(类里方法外)。
不同点:
1)
实例变量:是属于对象的,在创建对象的时候存储在内存堆中。
静态变量:是属于类的,在类被加载时存储在内存方法区中。
举例说明:
public class Test {
int a; //实例变量
static int b; //静态变量
public static void main(String[] args) {
Test t = new Test(); //创建一个对象
System.out.println(t.a); //调用实例变量
System.out.println(Test.b); //调用静态变量
}
}
2)
实例变量:创建多少个对象,则实例变量就会在内存中存在多少份。
静态变量:无论创建多少个对象,静态变量在内存中都只存在一份。
举例说明:
3)
实例变量:需要通过引用名打点来进行访问
静态变量:常常通过类名点来访问
System.out.println(t.a); //调用实例变量
System.out.println(Test.b); //调用静态变量