静的インポートを持つクラスがjava.lang.Integer
あり、私のクラスにも静的メソッドparseInt(String)
がある場合、呼び出しはどのメソッドをparseInt("12345")
指しますか?
前もって感謝します!
静的インポートを持つクラスがjava.lang.Integer
あり、私のクラスにも静的メソッドparseInt(String)
がある場合、呼び出しはどのメソッドをparseInt("12345")
指しますか?
前もって感謝します!
独自のクラス内にいる場合は、メソッドが呼び出されます。
クラスの外にいる (そして両方のクラスをインポートする) 場合は、使用するクラスを指定する必要があります。
証明: http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf $8 と $6.3 (コメントを参照)
これを試して:
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;
}
}
結果:
str
123
クラスのメソッドが最初に実行されます。