(1)Static关键字
修饰符 可以修饰成员(成员属性 成员方法)
(2)Static修饰成员的特点
a 生命周期长 跟类相同
b 用Static修饰的变量 所有对象共享
c Static修饰变量 可以通过对象(.)点的形式调用 还可以通过类名(.)点方法调用
(3)Static创建时机
a随着类的加载而加载 优于对象存在
b静态先存在 对象后存在
(4)Static利弊
优点:对对象的共享数据可以使用Static修饰,节省空间
弊端:生命周期长 访问出现局限
(5)Static修饰变量
用Static修饰的成员变量称之为静态变量(类变量)
生命周期和类相同
Static修饰的成员变量 存放在共享区
静态变量(类变量)和成员变量(实例变量)的区别
静态变量:Static修饰的成员变量称之为静态变量(类变量)
生命周期和类相同
Static修饰的成员变量 存放在共享区
属于类 不属于类的任何一个对象 一个类不管创建多少个对象 静态变量在内存中有且仅有一个拷贝
成员变量:是对象所有 随着对象的创建存在
必须依存于某一实例 需要先创建对象然后通过对象才能访问到它
生命周期跟对象相同
存放在堆内存中
(6)Static修饰方法
语法:public static 返回值类型 方法名(){
}
用static修饰的方法称之为静态方法
静态方法中不能出现this ,super 关键字
静态方法当中只能访问静态 不能访问非静态
原因:静态方法优于对象存在
(7)Static修饰块(静态块)
语法:Static{
}
执行时机:随着类加载而执行
作用:给类进行初始化