当类的名称为 Integer、String 等时会发生什么

jac*_*ack 1 java

我是 Java 新手。我有一个问题如下:我有一个名为 Integer 的类。当我在另一个类中调用 Integer 时,我不能使用 java.lang.Integer,只能使用我的 Integer 类。为什么会这样?

谢谢大家。:) 课程如下:

//My Integer class
    public class Integer{ //do something}
//Another class
    public class Test{int i = Integer.parseInt("1");}
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 5

当我在另一个类中调用 Integer 时,我不能使用 java.lang.Integer,只能使用我的 Integer 类。

可以,你只需要明确:

int x = java.lang.Integer.parseInt(someString);
Run Code Online (Sandbox Code Playgroud)

其原因是,Java有完全合格的名称(如java.lang.Integer)和工作组简单的从你的派生地名import语句和package。如果您创建一个名为 的类Integer,该简单名称将在您的工作集中,取代默认的Integer=java.lang.Integer映射。

这个关于包的 Oracle Java 教程可能很有用。


旁注:您不是“调用”一个类,而是调用方法和构造函数。你“使用”或“引用”一个类。