java.lang.Integer
için statik bir içe aktarma içeren bir sınıfınız varsa ve benim de parseInt(String)
statik yöntemine sahipse, parseInt("12345")
numaralı çağrı hangi yönteme yönlendirilir?statik imports yöntemi
Teşekkürler!
java.lang.Integer
için statik bir içe aktarma içeren bir sınıfınız varsa ve benim de parseInt(String)
statik yöntemine sahipse, parseInt("12345")
numaralı çağrı hangi yönteme yönlendirilir?statik imports yöntemi
Teşekkürler!
Kendi sınıfının içindeyseniz, sizin yöntemini çağırır.
Sınıfınızın dışındaysanız (ve her iki sınıfı da içe aktarıyorsanız) hangi sınıfı kullanacağınızı belirtmeniz gerekir.
kanıtlayın: http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf 8 $ ve $ 6.3
bu deneyin (yorumlara bakınız):
import static java.lang.Integer.parseInt;
public class Test {
public static void main(String[] args) {
System.out.println(parseInt("12345"));
}
private static int parseInt(String str) {
System.out.println("str");
return 123;
}
}
sonucu: size sınıfındaki yöntem ilk yürütüldüğünde
str
123
.
Standartlar tarafından garanti edildiğini gösteren bir referans gösterebilir misiniz? Derleyici bağımlı olabilir ... – amit
am1'e cevap vermek için sm1'i bekletme – MozenRath
Java Dil Özellikleri'nden: $ 8: Bir üyenin kapsamı (§6.3) (§8.2), üyenin hangi sınıfa ait olduğu beyanının tüm gövdesidir. aittir. | 6,3 $ 'dan itibaren: Beyannamenin kapsamı, beyanname ile beyan edilen tüzel kişinin basit bir isimle (anlaşılabilir olması koşuluyla (§6.3.1)) anılan programın bölgesidir. – Paranaix