代碼塊與靜態代碼塊與靜態方法的加載順序
阿新 • • 發佈:2017-07-14
setname getname tag urn pri 靜態方法 sta 進入 load
public abstract class ClassLoadingTest {
public static void main(String[] args) {
User user3 = new User();
}
}
public class User { public static User user= new User("wang",18); public static void userSay(){ System.out.println("調用userSay靜態方法"); user.say(); }static{ User.userSay(); System.out.println("進入靜態構造代碼塊"); User user2333 = new User("wang2333", 19); user2333.say(); user.say(); } { System.out.println("進入代碼塊"); } private String name; private int age; public User() {}public User(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } publicvoid setAge(int age) { this.age = age; } public void say(){ System.out.println(this.getName() + "調用say方法"); } }
執行結果:
進入代碼塊 調用userSay靜態方法 wang調用say方法 進入靜態構造代碼塊 進入代碼塊 wang2333調用say方法 wang調用say方法 進入代碼塊
代碼塊與靜態代碼塊與靜態方法的加載順序