static.
静态的
- 可以用于修饰属性、方法、代码块、内部类
static修饰属性:静态变量(类变量)
.
属性除了静态变量,就是实例变量
一个类的多个对象共享同一个静态变量
随着类的加载而加载
静态变量的加载早于对象的创建
由于类的加载只会加载一次,则静态变量在内存中也只会存在一份:方法区的静态域中
变量的调用.
类变量 | 实例变量 | |
---|---|---|
类调用 | 可以(推荐) | 不行 |
对象调用 | 可以 | 可以 |
开发中,什么时候使用静态变量.
- 属性是可以被多个对象所共享,不会随着对象的不同而不同
static修饰方法:静态方法
.
- 随着类的加载而加载
静态方法中,只能调用静态的方法或属性
- 非静态方法中,都可以调用(不管是static还是非static)
- 在静态方法类,不能使用 this和super关键字:因为这两个关键字表示的都是对象,生命周期与静态方法不同(即静态的会先加载,无法调用后加载的结构,当类销毁时,静态结构才跟着销毁)
方法的调用.
静态方法 | 非静态方法 | |
---|---|---|
类调用 | 可以(推荐) | 不行 |
对象调用 | 可以 | 可以 |
开发中,什么时候使用静态方法.
- 操作静态属性的方法,通常设置为static的
- 工具类中的方法
static修饰代码块:静态代码块
.
代码块作用: 用于初始化类、对象
- 随着类的加载而加载