1. 程式人生 > >代碼塊與靜態代碼塊與靜態方法的加載順序

代碼塊與靜態代碼塊與靜態方法的加載順序

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; } public
void setAge(int age) { this.age = age; } public void say(){ System.out.println(this.getName() + "調用say方法"); } }
執行結果:
進入代碼塊 調用userSay靜態方法 wang調用say方法 進入靜態構造代碼塊 進入代碼塊 wang2333調用say方法 wang調用say方法 進入代碼塊

  

 

代碼塊與靜態代碼塊與靜態方法的加載順序