static关键字

来源:互联网 发布:gta5 handling原数据 编辑:程序博客网 时间:2024/06/04 01:35

static关键字使用总结

static修饰字段

static修饰属性表示该属性是静态属性(静态变量),类属性(类变量)。

静态属性由该类的所有实例所共享,属于类本身,可用类名.属性名直接访问

静态属性先于类的实例而存在。静态属性在类的初始化过程中就被创建了,且被保存在了全局数据区的静态区。

静态属性的继承问题:在包可见性允许的情况下,子类可以继承父类的静态属性。

ps:静态属性在类被加载时候会给分配一块内存,是在类加载时被创建并进行初始化,类加载的过程只进行一次。也就是类变量只会被创建一次。

static修饰方法

static修饰的方法称为静态方法。由所有的类实例所共享,属于类本身,可用类名.方法

静态方法的继承问题:在包可见性允许的情况下,子类可以继承父类的静态方法

ps:静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。

static修饰代码块

会在类被加载的时候执行且仅会被执行一次(跟类在虚拟机的生命周期一致)
优先于其它左右的代码执行,如果有多个static修饰的代码块,或者static的属性,就按照代码顺序执行

static修饰类(静态内部类)

静态内部类没有外部对象的引用,所以它无法获得外部对象的资源,当然好处是,静态内部类无需依赖于外部类,它可以独立于外部对象而存在。

0 0
原创粉丝点击