static关键字的一些注意点
static关键字
- static是一个关键字,翻译为:静态的
- static修饰的变量叫做静态变量。当所有对象的某个属性的值是相同的,建议将该属性定义为静态变量,来节省内存的开销。
- 静态变量在类加载时初始化,存储在堆中。
- static修饰的方法叫做静态方法。
- 所有静态变量和静态方法,统一使用“类名.”调用。虽然可以使用“引用.”来调用,但实际运行时和对象无关,所以不建议这样写,因为这样写会给其他人造成疑惑。
- 使用“引用.”访问静态相关的,即使引用为nu1l,也不会出现空指针异常
- 静态方法中不能使用this关键字。因此无法直接访问实例变量和调用实例方法。
- 静态代码块在类加载时执行,一个类中可以编写多个静态代码块,遵循自上而下的顺序依次执行
- 静态代码块代表了类加载时刻,如果你有代码需要在此时刻执行,可以将该代码放到静态代码块中。
static关键字可以定义静态代码块:
- 语法规范:
static {
System.out.println("日志加载");
}
- 静态代码块什么时候执行?执行几次?
- 静态代码块在类加载时执行,并且只执行一次
-
静态代码块可以编写多个,并且遵循自上而下的顺序依次执行
-
静态代码块什么时候使用?
- 类加载时需要执行任务,可以放在静态代码块中