static方法限制
- 如果类成员变量被声明为静态的,就可以在创建类的任何对象之前访问该成员,并且不需要是用任何对象引用;
- 类的所有实例共享相同的静态变量;
- 静态方法只能调用其它静态方法;
- 静态方法只能访问静态数据;
- 静态方法不能以任何方式引用this或super关键字;
- 静态代码块只执行一次,当第一次加载类的时候执行;
- 所有的静态变量初始化和静态初始化块以它们在类声明中出现的顺序执行;
知识点
package com.quancheng;
public class Appliction {
private final static int num = 88;
static {
System.err.println(num);
System.err.println("第一个静态块");
}
static {
System.err.println(num);
System.err.println("第二个静态块");
}
{
System.err.println(num);
System.err.println("第一个代码块");
}
{
System.err.println(num);
System.err.println("第二个代码块");
}
public Appliction() {
System.err.println(num);
System.err.println("构造方法");
}
public static void main(String[] args) {
Appliction app = new Appliction();
}
}
out====================
88
第一个静态块
88
第二个静态块
88
第一个代码块
88
第二个代码块
88
构造方法