java中,怎么在一个包中引用另一个包的同名类

如题。。注意是两个不同的包,但是包中的类名相同。。p1中有类A,P2中也有类A,同名。怎么在P2的A中引用P1的A。。

你好,

    根据你的问题,两个包里面类名相同,默认会调用当前类,如真要引用,只能用下面方法

 cn.fancy.p1.A a=new cn.fancy.p1.A();//用它的权限定名来确认是p1下面的A


希望我的回答能帮到你

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-21
1、假设package1和package2这两个包中都有一个类,名为SameName;
2、假设package1中的SameName要引用package1中的SameName;
3、以下是示例代码:

package package1;
public class SameName{
public static void main(String[] args){
package2.SameName sn2 = new package2.SameName();
}
}
第2个回答  2015-04-16
用的时候在类A的前面加上包名,如在p2中写:P1.A a = new P1.A();
这个时候你就可以不写导入包语句了本回答被提问者采纳
第3个回答  2015-04-16
import P1.* 或者importP1.A追问

再导入包之后,那么在p2中的类A中怎么引用呢,,,
package p2
import P1.A
class A
{
A a = new A() //其实这个A应该是p1中的A;怎么识别这个new不是new的本类
}

追答

你用eclipse写的时候会让你选择哪个包下面的类,你把变量名写清楚是哪个包下面的就行了,或者直接用包名.类名

第4个回答  2015-04-16
直接用P1.A就可以了,p2中的是A,你不要importP1,这样就能区分
相似回答