假设您已经创建了一个名为X的类,并且您在X类中的一个方法需要返回类X的实例,但这次类X具有相同的名称,但它是来自jar文件的另一个类恰好有相同的名字。有没有办法引用你想要的X类?
答案 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使用的名称解析技术。