static (静态的) 修饰符:用于修饰成员(成员变量,成员方法)
静态修饰的内容被对象共享(节约内存空间),除了被对象调用,还能被类调用,写法 类名.静态成员
特点:
1.随着类的加载而加载---会随着类的消失而消失,生命周期最长
2.优先于对象存在
3.被所有对象共享
4.可以直接被类名调用
共享区(方法区、数据区):存放类中的方法,类中的共享数据,static修饰的成员存放在方法区
成员变量(实例变量)和类变量(static修饰)的区别:
1.存放位置:
类变量随着类的加载而存在于共享区中。
实例变量对着对象的建立而存在于堆内存中。
2.生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
注意:
1.静态方法只能访问静态成员(方法、变量)
非静态方法既可以访问静态,也可以访问非静态
2.静态方法中不可以定义this,super关键字
静态方法的使用:
当一个类中未封装特有的数据,该类的方法只体现功能,则方法可以定义成静态方法。外部类不需要创建对象就可以直接调用
为了程序更严谨,强制让该类不能创建对象,用私有化(private)构造方法完成,如果方法也不需要外部调用,也将其私有化处理 |
|