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

导入一个包中的全部文件时应该怎么处理! 为什么我的程序运行不了呢

导入一个包中的全部文件时应该怎么处理! 为什么我的程序运行不了呢

55cb0a3e00010d9605000356.jpg

55cb0a4000018c0105000356.jpg

55cb0a400001869705000356.jpg

正在回答

4 回答

你本身包下就有个同名的Telphone类,有歧义,所以程序不知道是实例化哪个。

你要实例化HelloTelphone2包下的Telphone的话,直接指定全路径。

Telphone test = new  com.HelloTelphone2.Telphone();

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

永远的蓝天

怎么这样也不对呢? TelePhone phone2 = new imooc.second.TelePhone(); phone2.getPhone(); 提示说“Type mismatch:can not convert from TelePhoneto TelePhone”
2015-09-12 回复 有任何疑惑可以回复我~

我之前没有导入整个包,只导入了Telephone文件,没有问题。

然后我尝试了你的方法,结果也不行,但是并没有报错,只是调用的是本包的类而不是导入的包的类

参考了《Java编程语言》(第三版)Arnold,Gosling,Holmes 著 第264页到265页的内容

improt attr*;

使用*号导入语句叫做“按需导入”(import on demand)声明。也可以采用单一类型导入(single type import):

import attr.Attrinbuted;

……

import 机制是一种被动机制,因为关于有名包的信息和类型信息并不是在编译时被读入加载的——直到包中的某个类型被使用时才读入这些信息,import语句只是简单的告诉编译器,当他在本地找不到定义的类型时,它应该如何确定类型的完全限定名。……编译器会按下面的顺序查找该类型:

  1. 包括子类型的当前类型

  2. 当前类型中的嵌套类型

  3. 显式命名的导入类型(单类型导入)。

  4. 在同一个包内声明的其他类型。

  5. 隐式命名的导入类型(按需导入)。


    我前后用的两种方法的优先顺序分别是3和5,而在同一个包中还声明了Telephone,它在4。所以,当单类型导入的时候可以而按需导入的时候不行。我想这应该是为什么出错的原因

3 回复 有任何疑惑可以回复我~
package imooc;
//import imooc.second.TelePhone;
import imooc.second.*;

public class mainPhone {
	public static void main(String[] args){
		//TelePhone phone1 = new TelePhone();
		TelePhone phone1 = new imooc.TelePhone();
		phone1.getPhone();
		
		TelePhone phone2 = new imooc.second.TelePhone();
		phone2.getPhone();
		
		SmartPhone sPhone = new SmartPhone();
		sPhone.getSmartPhone();
	}
}
package imooc.second;

public class TelePhone {
	public void getPhone(){
		System.out.println("imooc.second.telephone running !");
	}
}
package imooc;

public class TelePhone {
	public void getPhone(){
		System.out.println("imooc.Telephone running !");
	}
	
}


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

导入import com.HelloTelphone2.*;包中的全部文件了,然后Telphone test=new Telphone();不就应该是导入的包的Telphone()了嘛?为什么不对呢!

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

桑桑2333

或者是在import com.HelloTelphone2.Telphone;这样就可以直接实例化对象了
2015-09-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

导入一个包中的全部文件时应该怎么处理! 为什么我的程序运行不了呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信