不同模块或不同JARS中相同包中的两个类

时间:2013-02-16 03:58:41

标签: java maven

// A.java
package com.example.www;

public class A {}

// B.java
package com.example.www;

public class B {
    A a;
}

在上面的示例中,B类可以创建对A类的引用,而无需导入A,因为它们位于同一个包中。但是,如果A类和B类具有相同的完全限定的包名,但是存在于多模块Maven项目的不同模块中呢?或者,另一种情况,如果A和B的.class文件在不同的JAR中会怎么样?

A类和B类是否仍然具有相同的访问权限?

1 个答案:

答案 0 :(得分:0)

如果它们位于不同的jar中,则需要添加import语句或使用完全限定名访问类(假设类A位于包com.examples.etc中)。

import com.examples.etc.A

public class B {
 A a;
 }

public class B {
 com.examples.etc.A a;
}