Java语言学习笔记:包
包的含义:
用来分门别类的管理各种不同类,类似于文件夹,建包有利于程序的管理和维护
语法格式:
package 公司域名倒写.技术名称
例:package com.charcoalblog.testdemo
(原来package是建包的意思,那么导入包就要用import)
import 包名.类名
注意:
- 相同包下的类可以直接访问,不同包下的类必须导包,才可以使用!
- 如果一个类中要用两个不同的类,默认只能导入一个,另一个要用包名访问!
(我觉得package也可以理解成一个说明,说明这个类属于哪个包,但是在oj上交题的时候,需要删掉package,原因是Main类也不属于任何包,所以无需加,加了会编译错误)
如下实例说明了相同包与不同包之间类的调用规则,本实例的目录结构如下所示
代码如下:
package com.boqianlv.d1_package;
import com.boqianlv.d1_package.demo1.Animal;
import com.boqianlv.d1_package.demo1.Cat;
public class Test {
public static void main(String[] args) {
//导包:相同包下的类可以直接访问
Student s=new Student();
//不同包下的类必须导包才可以使用
Animal a = new Animal();
//使用默认导包的类,demo1下的cat
//这里不能再import demo2下的cat了,否则会引起歧义
Cat c1 = new Cat();
c1.run();
//指定使用demo2下的Cat类
com.boqianlv.d1_package.demo2.Cat c2 = new com.boqianlv.d1_package.demo2.Cat();
c2.run();
}
}
注意:虽然demo1也属于com.boqianlv.d1_package包,但是由于路径不同,所以也是不同的包,仍然需要import导入
%zzy