为了账号安全,请及时绑定邮箱和手机立即绑定

关于import包的规范问题

我生成了一个名为“TelPhone2”的包,下面有一个类Telphone,之后在包名为“com.imooc”下面初始化一个Telphone类,但是我发现采用“import TelPhone2.Telphone;”和“import TelPhone2.*;”效果是不一样的,前者是调用的TelPhone2中定义的构造方法,而后者调用的是com.imooc包下定义的构造方法,请问这是为什么啊?

正在回答

2 回答

TelPhone2包是com.imooc包的子包吧,我也遇到这个问题了,导入TelPhone2.*结果调用的是其上级包imooc中的类Telephone

0 回复 有任何疑惑可以回复我~

因为 第一个 你明确的指出了 是 import TelPhone2.Telphone; 这个包下的类 所以使用的是这个类 而如果你使用导入的包名是import TelPhone2.*;后面的*号 指的是所有的import TelPhone2下面的类 所以会出现你说的那种情况 ,建议是 指向明确

0 回复 有任何疑惑可以回复我~
#1

慕粉1550466909 提问者

您可能没明白我的意思,我是问在采用“import TelPhone2.*;”应当是我调用包TelPhone2中的所有类,那么这个语句的适用范围应当是大于“ import TelPhone2.Telphone; ”的,按理说在生成一个Telphone类的对象的时候应当也调用的是TelPhone2.Telphone的构造函数,但运行后发现实际上调用的是我本包也就是com.imooc包下定义的构造函数,所以觉得很奇怪
2017-01-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季
  • 参与学习       531269    人
  • 解答问题       6327    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

关于import包的规范问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号