浅谈Static关键字
最近对static关键字进行了深入的学习,以及在内存存储机制中静态成员是怎样存储的,特来与大家进行分享。
Static是一个修饰符,修饰成员(变量,方法)。
被Static修饰的变量,是一个共性的变量,每个对象都占用一个相同变量。
存储:static修饰的变量不在堆内存中,而在(方法区/共享区/数据区)
而特有的数据则随对象在堆内存存储。
特点:
①、随类加载而加载,随类消失而消失。
②、被所有对象共享。
③、优先于对象存在。
④、可以直接被类名所调用。
⑤、生命周期最长(静态的成员变量(类变量)>成员变量(实例变量))
使用注意:
①、静态方法智能访问静态成员。非静态方法即可访问静态的也可以访问非静态成员。
②、静态方法不可以定义 this,super关键字,因为静态优于对象存在。
优点:对对象的共享数据惊醒单独空间存储,节省空间可以直接被类名调用。
局限性:生命周期过长,访问出现局限性(静态虽好,只能访问静态)。
|
|