一:package
所有的Java类都是放置在同一个目录下面的,因此类之间的相互调用无需显式声明调用。
–同一个目录下,两个类的名字不能相同
–文件过多,查找和修改都不易,且容易出
Java支持多个目录放置Java,并且通过package/import/classpath/jar等机制配合使用,可以支持跨目录放置和调用Java
package 包,和C++中namespace类似
(一)package使用
在Java类文件的第一句话给出包的名称--->项目目录下的包路径
package net.abc;
public class NewExampleTest {
private int num=10;
public int getNum() {
return num;
}
public void getNum(int num) {
this.num=num;
}
}


(二)命名规范
包名 package name尽量唯一
域名是唯一的,因此常用域名做包名
域名逆序:cn.edu.ecnu,范围通常从大到小
类的完整名字:包名+类名,cn.edu.ecnu.PackageExample
包名:和目录层次一样, cneduecnuPackageExample.java
但是包具体放在什么位置不重要,编译和运行的时候再指定
二:import引入
(一)使用
package net.abc;
public class NewExampleTest {
private int num=10;
public int getNum() {
return num;
}
public void getNum(int num) {
this.num=num;
}
}
package com.test;
import net.abc.NewExampleTest; //引入全路径
public class ComExampleTest {
public static void main(String[] args) {
NewExampleTest ne=new NewExampleTest();
System.out.println(ne.getNum());
}
}
(二)规则
–import必须全部放在package之后,类定义之前。
–多个import的顺序无关。
–可以用*来引入一个目录下的所有类,比如import java.lang.*;
此意思是引入java.lang下面所有的类文件,当不包括java.lang下面所有的子目录文件,即并不包括java.lang.reflect.*;
换句话说,不能递归包含各个目录下的文件
import 尽量精确,不推荐用*,以免新增的同名程序会使得老程序报错
三:总结
(一)Java通过包(package)来分开类
(二)Java通过引用(import)来导入类