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

时间:2015-03-23 08:15:41

标签: 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");}

1 个答案:

答案 0 :(得分:4)

  

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

可以,你只需要明确:

int x = java.lang.Integer.parseInt(someString);

原因是Java具有完全限定的名称(如java.lang.Integer)以及从import语句和package派生的一组简单名称。如果您创建了一个名为Integer的类,则该简单名称将位于您的工作集中,取代默认的Integer = java.lang.Integer映射。

This Oracle Java tutorial on packages可能有用。


旁注:你不打电话"一个类,你调用方法和构造函数。你"使用"或"参考"一堂课。