同じプロジェクトに 2 つのクラスがありMath.random()
、両方で使用しています。最初はすべて正常に動作しますが、2 番目random()
は未定義であると表示されます。「Math 型のメソッドrandom()
は定義されていません」
解決策はありますか?
電話する必要があります
java.lang.Math.random()
クラス名もMathであるため、パッケージを指定する必要があります。
例 :
public class Math {
public static void main(String args []){
System.out.println("JDK MATH RANDOM " +java.lang.Math.random()); // refers to java.lang
System.out.println("My Math random implementation "+Math.random()); // refers to this class method, actually Math is redundant in this scope
}
public static double random(){
//some implementation
}
}
Math という名前の独自のクラスがある場合は、Java.lang.Math.random() のように、使用時にどのクラスについて話しているのかを明確にする必要があります。より簡単なオプションは、クラスの名前を変更することです。JDK、特に java.lang パッケージの名前を再利用するのは悪い習慣です。