我所擁有的是兩個類,它們是這樣的。靜態導入的工作
public class Class1 {
public static void staticMethod1(){}
public static void staticMethod2(){}
public static void commonStaticMethod(){}
}
和第2類爲
import static Class1.*;
public class Class2 {
public static void commonStaticMethod(){}
}
讓我吃驚,這已經編譯沒有任何錯誤,甚至警告。那麼靜態導入如何逃離重載?
然後方法,如果我叫'commonStaticMethod()',不是調用該方法Class1中或Class2中? –
@SriHarshaChilakapati它完全取決於你從哪裏來。如果你從Class2中調用它,你會得到Class2的版本。在你已經完成'import static Class2。*'的範圍內,並且沒有覆蓋。如果它在Class1的範圍內,你會得到Class1的,就像你已經完成了'import static Class1。*'那樣,並且沒有覆蓋。當然,如果你已經完成了兩次導入,你會得到一個模糊的編譯錯誤。 – EJP
你可能意味着隱藏與重寫。 – assylias