with - static method java




反射:在靜態方法中獲取調用對象 (3)

根據定義,沒有static方法的實例對象(靜態方法不能在特定的對像上運行,它們是純粹為命名空間而在類中定義的) - 所以不能

是否有可能得到一個對象,在這個方法中調用靜態方法?

我有這個代碼:

class A{
    static void foo(){
    }
}
A a = new A();
a.foo();

我可以在方法foo()獲得實例a嗎?


沒有; 這就是static意思。
編譯器實際上完全忽略了這個實例。

使用實例方法。


首先,你的代碼不像程序員那樣好。

這是因為靜態方法是類級別的方法,應該調用沒有任何類的實例。

推薦方法:

class A{
    static void foo(){
    }
}
A.foo();

我可以在方法foo()中獲得實例a嗎?

不,你不能。 因為foo()被聲明為靜態的 。 所以你不能在這個方法中使用它,因為這包含了一個對調用方法的對象的引用。





static-methods