static关键字

it2022-05-05  241

static应用范围:可用于内部类、方法和变量。

static修饰的变量:标记一个变量为static,则该变量在内存中有不变的位置,相当于全局变量,所有类的实例都访问同一个存储变量区域。对其修改对于所有类的实例来说都是可见和一致的。

静态变量与实例变量的区别:        1、在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。   2、在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属 于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。  

static修饰的方法: 标记一个方法为static,意味着这个方法,被所在类的所有实例公用,在类装载时初始化,被所有该类的实例共享,同时意味着:   A、static方法内部不能引用非static变量。   B、static方法不能被子类重写为非static方法。   C、父类的非static方法不能被子类重写为static方法。   D、static代码块可以用static {}来完成,在类被第一次装载时执行初始化,先于静态方法和其他方法的执行。

转载于:https://www.cnblogs.com/meizizhoushan/p/7285786.html


最新回复(0)