java包的导入

为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 “import” 语句可完成此功能。

在 java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条,其语法格式为:

import package1[.package2…].(classname|*);

同个包中的类相互引用,不需要导入,包导入只是对于不同包而言,自己导入自己会报错:
在这里插入图片描述
包导入不仅仅是import这么简单,还得注意包中的类的访问权限。

同个包的类之间访问比较简单,在代码中直接使用类名(即使这两个类位于不同的源文件中);而不同包之间的访问则必须满足一个条件:一个类如果希望被其他包中的类访问, 那么必须加上public修饰(注意:用public修饰的类必须和源文件名同名)。

下图中的Person1这个类,由于没有定义为public,所以只能在包内可见,其他包无法通过import导入它。相反,Person类则可以被导入。

com包下定义了一个默认权限的Person1类。
在这里插入图片描述
school这个包尝试导入com包下的Person1类,报错:

不同包之间的使用通常有以下3种方法:

  • 使用全名访问类;
    即我不使用import导入该类也可以,使用全名。类似于C++中不使用using namespace std,要以std::cout方式才能访问cout。
    在这里插入图片描述
  • import 该类;
package school;
import com.Person;
public class School {
	public static void main(String[] arg) {
		Person per = new Person();
	}
}
  • 使用通配符
    可以使用通配符“*”代替类名,将包中的所有类导入:
    import aaa.bbb.*;

注意:
import aaa.bbb.*;并不会导入aaa.bbb.ccc包下面的类。包aaa.bbb和包aaa.bbb.ccc虽然表面上存在层级关系,但实际是独立的,这点在eclipse的工程界面中可以看出来:
在这里插入图片描述
com和com.json没有相互包含关系。

误区:import导入的对象是包中的类,所以不能直接import 包名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值