1·、static应用范围:可用于内部类、方法和变量。
2、标记一个方法为static,意味着这个方法,被所在类的所有实例公用,在类装载时被首先执行,执行一次即被所有该类的实例共享,同时意味着:
A、static方法内部不能引用非static变量。
B、static方法不能被子类重写为非static方法。
C、父类的非static方法不能被子类重写为static方法。
D、static代码块可以用static {}来完成,在类被第一次装载时执行初始化,先于静态方法和其他方法的执行。
3、标记一个变量为static,则该变量在内存中有不变的位置,相当于全局变量,所有类的实例都访问同一个存储变量区域。对其修改对于所有类的实例来说都是可见和一致的。
1、在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
2、在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
时间: 2024-10-08 10:29:06