构造方法用于对象的初始化,静态初始化块用于类的初始化;在静态初始化块中不能直接访问非static成员。
注意事项:
- 上溯到Object类,先执行Object的静态初始化块,再向下执行子类的静态初始化块,直到我们的类的静态初始化块为止。
- 构造方法执行顺序和上面一致。
package User3;
public class User3 {
int id;
String name;
String pwd;
static String company;//静态成员变量
static {//静态块
System.out.println("执行类的初始化工作");
company="百度";
printCompany();
//静态块不能调用普通成员变量或方法,因为此时是在类的初始化还没有对象
}
public static void printCompany() {//静态方法
System.out.println(company);
}
public static void main(String[] args) {
User3 user3 = null;
}
}