2016-03-15 33 views
2
public class Test { 
    public static void main(String[] args) { 
    Test test = null; 
    test.func(); 
    } 

    static void func(){ 
    System.out.println("Hello!!"); 
    }  
} 

爲什麼該程序成功執行?使用空引用調用的靜態方法

回答

3

這是因爲靜態方法與實例無關。編譯器在內部將其轉換並調用Test.func()

0

您調用一個靜態方法。在類上調用靜態方法。

電話是這樣的Test.func()

提示:在您的代碼中調用靜態方法時。打電話給他們Class.method()不在物體上。