Static修饰的成员多了一个调用方式,除了可以被对象调用,还可以使用类名。类名.静态变量。
Static 类型的数据
特点:
l 随着类的加载而加载。随着类的释放而释放,说明它的生命周期最长,而创建对象时普通成员变量(实例变量)才会被创建。
l 先于对象存在
l 被所有对象所共享
l 可以直接被类名调用
与实例对象区别:
1.静态变量随着类的加载而加载,而存放在方法区 实例对象随着对象的建立而存放在堆中
2.静态变量生命周期最长,随着类的消失而消失 实例变量随着对象的消失而消失
3.实例变量是对象特有的 静态变量是对象所共有的
注意事项:
l 静态方法只能访问静态变量 非静态方法既可以访问静态变量也可以访问非静态方法
l 静态方法中不可以定义this,super关键词,因为静态优于对象存在
l 主函数是静态的
利弊:
利:对对象的共享数据进行单独空间,节省空间
可以直接被类名调用
弊:生命周期过长
访问出现局限性