1.语法上:静态变量前加static修饰,实例变量则不加;
2.实例变量为对象的属性,只有创建了对象,实例变量才会被分配内存空间,才可以被使用;
3.静态变量是属于类的,也称类变量。只要加载了类的字节码文件,静态变量就会被分配内存空间;
4.总之,实例变量只有在创建对象的情况下才能通过对象调用,而静态变量可直接通过类名调用。
程序例子:
public class Test{
public static int var1 = 0;
public int var2 = 0;
public Test(){
var1++;
var2++;
System.out.println("静态:"+var1+" "+"实例:"+var2);
}
}
public class Main{
public static void main( String args[]){
Test t = new Test();
}
}
如例子所示:无论创建多少次对象,var1只被分配一次,且每创建一次var1都加1;而对于var2,每创建一次都会新分配一次空间,所以其结果都为1。