1.static 关键字的作用
方便在没有创建对象的情况下来调用属性或方法。
static 可以用来修饰属性、方法、代码块、内部类。
2.static 修饰属性
static 修饰的属性叫静态变量(类变量),随着类的加载而加载,可以通过"类名.静态变量"的方式进行调用,静态变量的加载早于对象的创建。由于类只会加载一次,则静态变量在内存中只存在一份,存在方法区的静态域中。
3.static 修饰方法
static 修饰的方法叫静态方法,随着类的加载而加载,可以通过"类名.静态方法"的方式进行调用,静态方法的加载早于对象的创建。静态方法在内存中只存在一份,存在方法区中(普通方法也存在一份,存在方法区中)。
4.static 修饰代码块
随着类的加载而执行,而且只执行一次。
5.static 修饰内部类
static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。
6.什么时候使用 static
- 如何确定一个属性是否要声明为 static?
① 属性是可以被多个对象所共享的,不会随着对象的不同而不同。
② 类中的常量常常声明为 static - 如何确定一个方法是否要声明为 static?
① 操作静态属性的方法,通常设置为 static 的
② 工具类中的方法