使用具有相同名称的类的类

时间:2011-08-16 15:01:46

标签: java

假设您已经创建了一个名为X的类,并且您在X类中的一个方法需要返回类X的实例,但这次类X具有相同的名称,但它是来自jar文件的另一个类恰好有相同的名字。有没有办法引用你想要的X类?

4 个答案:

答案 0 :(得分:3)

只要它们具有不同的包名称,就可以通过其完全限定的名称从其他jar文件中引用该类,如com.packagename.X中所述。

答案 1 :(得分:1)

是的,通过指定一个完全限定的类名(因为在同一个包中不能有2个相同的类名)。

E.g。假设您有2个具有相同名称的类(在2个不同的包中)

  

za.org.myDomain.factory.ClassAFactory
  za.org.myDomain.subDomain.factory.ClassAFactory

并且只导入了一个类:

import za.org.myDomain.factory.ClassAFactory;

你可以做些什么(例如在抽象类ClassFactory中):

public abstract ClassAFactory getAFactory();
public abstract za.org.myDomain.subDomain.factory.ClassAFactory getFactory();

第二次导入不必具有import声明,因为您完全限定了返回类型。

答案 2 :(得分:0)

您必须使用全名来引用它,例如:com.something.something.ClassName

答案 3 :(得分:0)

所有具有相同名称的类都位于单独的包中(名称不同,因为它们位于不同的文件夹中)。通过这种方式,课程变得明确无误。

请注意您当时的套餐。换句话说,请注意Java使用的名称解析技术。