Chapter3 面向对象
3.4.1 package
到目前为止,我们已经知道class是类,且之前所写的文件第一行都是 public class xxxx;
那我们把类看做成平时在电脑中打开的文件,而package就是把很多文件或者一个文件装在一起的一个文件夹。
package语句作为Java源文件的第一条语句,指明了该文件中定义的类所在的包。(若缺省该语句,则指定为无包)。
格式为:package 顶层包名.子包名;
例如:animal包下有person包,person包下有person1类和person2类
package animal.person;
public class Person1
- 包对应于文件系统的目录,package语句中。用"."来指名包(目录)的层次
- 包名通常用小写单词,类名首字母通常大写。
Java中的包package等同于文件夹的概念,包和文件夹一样可以有多级;也就是包下可以有包和文件,多级的包使用**"."**来分割。
如com包下的cn包下的test包就是:com.cn.test
3.4.2 import
- 为使用定义在不同包中的类(即类似于调用不同文件夹下的文件);需用import语句来引入指定包层次下所需要的类或全部类。import语句告诉编译器需要到哪个包寻找类。
- 语法格式:import 包名.[子包名]./类名|*/
在这里示例三种import的引用方法:
假设现在"Person2类"在"person包"下;
"person包"在"animal包"下。
现在需要在"TestPackage类"下调用"Person2"对象
import[1]
import animal.person.Person2;
public class TestPackage{
Person2 p2 = new Person2();
}
import[2]
import animal.person.*;
public class TestPackage{
Person2 p2 = new Person2();
}
import[3]
public class TestPackage{
animal.person.Person2 p2 = new animal.person.Person2();
}
注意:
- 若引入的包为:java.lang, 则编译器默认可获取此包下的类,不需要再次显示声明;
- import语句出现在package语句之后,类定义之前
- 一个源文件中可以包含多个import语句
- 可以使用import.lee.*语句;表明lee包下的所有类。但是lee包下子包内的类则不会被导入
- import语句不是必须的,可坚持在类里使用其他类的全面(只要你不嫌长:(