关于import后同名的类

kof1000 2009-12-05 01:50:30
如题:
有两个包:COM1 和 COM2,两个包里面都有一个类,名字都为Cat.class

代码如下:
import COM1.Cat.class;
import COM2.Cat.class;
public class TestImport{
public static void main(String args[]){
Cat c = new Cat();
}
}

问题:
代码里的Cat调用的是哪一个包里的Cat.class呢?或者是该如何分别调用COM1和COM2里的Cat类呢?
...全文
417 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kof1000 2009-12-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 steven_linqing 的回复:]
引用楼主 kof1000 的回复:
如题:
有两个包:COM1  和  COM2,两个包里面都有一个类,名字都为Cat.class

代码如下:
import COM1.Cat.class;
import COM2.Cat.class;
public class TestImport{
  public static void main(String args[]){
      Cat c = new Cat();
  }
}

问题:
代码里的Cat调用的是哪一个包里的Cat.class呢?或者是该如何分别调用COM1和COM2里的Cat类呢?

其实按照你写的COM1,COM2是建不出来的,会出错。我试过了。
既然一定要问是哪个包,你打印出来不就知道是谁的包了?
1.因为第一级的包不能带数字,二级以后的包才可以带数字。
2.后引入的包报错。除非改成:COM2.Cat.*;(前提是前面的步骤都可以通过);
  那打印出来的就是第一个引入的包。

最后,我想要问一个问题:楼主为什么要问这样的问题?难道还有什么研究不成?还是为了炒作?

给我一个合理的答案。

我是JAVA处学者,今天老师讲到这个问题,他当场叫我先留着,书上也没有相关的例子,所以就上来问问了。



[/Quote]
NeverGiveUp2016 2009-12-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 kof1000 的回复:]
如题:
有两个包:COM1  和  COM2,两个包里面都有一个类,名字都为Cat.class

代码如下:
import COM1.Cat.class;
import COM2.Cat.class;
public class TestImport{
  public static void main(String args[]){
      Cat c = new Cat();
  }
}

问题:
代码里的Cat调用的是哪一个包里的Cat.class呢?或者是该如何分别调用COM1和COM2里的Cat类呢?
[/Quote]
其实按照你写的COM1,COM2是建不出来的,会出错。我试过了。
既然一定要问是哪个包,你打印出来不就知道是谁的包了?
1.因为第一级的包不能带数字,二级以后的包才可以带数字。
2.后引入的包报错。除非改成:COM2.Cat.*;(前提是前面的步骤都可以通过);
那打印出来的就是第一个引入的包。

最后,我想要问一个问题:楼主为什么要问这样的问题?难道还有什么研究不成?还是为了炒作?

给我一个合理的答案。



sunwayMike 2009-12-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bawgiitx 的回复:]
COM1.Cat c = new COM1.Cat();
COM2.Cat cc = new COM2.Cat();
这样不就行了
[/Quote]
赞~
godismydaughter 2009-12-05
  • 打赏
  • 举报
回复
同意楼上
lanwenyao 2009-12-05
  • 打赏
  • 举报
回复
COM1.Cat c = new COM1.Cat();
COM2.Cat cc = new COM2.Cat();


完全不需要IMPROT了

只能这样了


http://e188e.cn为您提供
小瑞 2009-12-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bawgiitx 的回复:]
COM1.Cat c = new COM1.Cat();
COM2.Cat cc = new COM2.Cat();
这样不就行了
[/Quote]

恩,用完整路径就可以了
kangbaoxing 2009-12-05
  • 打赏
  • 举报
回复
如题:
有两个包:COM1 和 COM2,两个包里面都有一个类,名字都为Cat.class

代码如下:
import COM1.Cat.class;
import COM2.Cat.class;
public class TestImport{
public static void main(String args[]){
COM1.Cat c = new COM1.Cat();
}
}

问题:
代码里的Cat调用的是哪一个包里的Cat.class呢?或者是该如何分别调用COM1和COM2里的Cat类呢?



对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:5
bawgiitx 2009-12-05
  • 打赏
  • 举报
回复
COM1.Cat c = new COM1.Cat();
COM2.Cat cc = new COM2.Cat();
这样不就行了
yang677888 2009-12-05
  • 打赏
  • 举报
回复

import COM1.Cat; //?? 不是Cat.class;
import COM2.Cat; //??
public class TestImport{
public static void main(String args[]){
Cat c = new Cat();
}
}


应该编译有错吧,怎么可以import同一个类Cat
dajiadebeibei9 2009-12-05
  • 打赏
  • 举报
回复
把两个包里的类名改掉一个不就行了
叫Cat1 Cat2
whut0802 2009-12-05
  • 打赏
  • 举报
回复
这个?编译器会给你报错

import COM1.Cat;
import COM2.Cat;

编译器的错误信息是冲突了,你使编译器糊涂了,它就给你报错
  • 打赏
  • 举报
回复
去掉一个import

没这么垃圾的业务包吧

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧