2

我在同一个项目中有 2 个类,我在这两个类Math.random()中都使用了。首先一切正常,但在第二个它说这random()是未定义的。“数学类型的方法random()未定义”

有什么解决办法吗?

4

2 回答 2

2

你必须打电话

java.lang.Math.random()因为你的类名也是数学,所以你必须指定包。

例子 :

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
   }

}
于 2013-07-03T23:56:03.167 回答
1

如果您有一个自己的名为 Math 的类,则必须在使用时明确您正在谈论的类,例如 Java.lang.Math.random()。更简单的选择是更改类的名称。重用 JDK 中的名称是不好的做法,尤其是 java.lang 包中的名称。

于 2013-07-03T23:57:19.373 回答