从不同的包导入两个具有相同名称的不同类

时间:2012-12-18 11:52:41

标签: java

我使用Logger从包java.util.logging导入了类import java.util.logging.Logger。除此之外,根据要求我需要从其他包中导入用户创建的类。但问题是,该类名称还Logger [在用户定义的包中创建]。我没有权限更改该用户定义的类和包的名称。这两个类都有静态方法。

所以我需要导入两个类,那么什么是可行的解决方案?

4 个答案:

答案 0 :(得分:5)

拨打完整的班级名称,即package.class 例如,如果您要创建一个名为File的类,您仍然可以使用java.io.File而不导入它。
导入只允许您使用较短的名称。类的全名由它的包名称

添加

在你的情况下,你有:some.user.package.Logger,所以你可以使用它。

some.user.package.Logger userLogger = new some.user.package.Logger();
java.util.logging.Logger realLogger = java.util.logging.Logger.getAnonymousLogger(); //or whatever...

答案 1 :(得分:0)

您必须指定完整路径。

Logger logger = new Logger();
com.abc.Logger yourLogger = new com.abc.Logger();

答案 2 :(得分:0)

当使用其中一个名称相同但包装不同的类时,

使用完全限定的类名,如:

java.util.logging.Logger logger;
mypackage.Logger myLogger;

答案 3 :(得分:0)

最好的方法是在类中使用完全限定的类名,而不导入任何内容