企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>[success] # package 包 * 防止类重名**Java定义了一种名字空间**,称之为包:`package`。一个类总是属于某个包,类名(比如`Person`)只是一个简写,真正的完整类名是`包名.类名`。例如小明的Person类存放在包ming下面,因此,完整类名是ming.Person; ~~~ package ming; // 申明包名ming public class Person { } ~~~ 通俗解释,就是`java` 自定义了一种全路径的表达方式,以js 为例,往往我们想导入一个包使用是`src/a.js`是路径形式,`java`通过`package`来定义文件夹目录,例如我的文件在`src/com/kanyun/Person.java` 那声明时候为了知道是那个目录下的`Person`因此需要在文件上面先声明自己包的位置 ~~~ package src.com.kanyun public class Person { } ~~~ * 在Java虚拟机执行的时候,JVM只看完整类名,因此,只要包名不同,类就不同 * `package`对应于文件系统的目录,package语句中,用 “.” 来指明包(目录)的层次; >[danger] ##### 编译后目录 * 编译前 ~~~ascii package_sample └─ src ├─ hong │ └─ Person.java │ ming │ └─ Person.java └─ mr └─ jun └─ Arrays.java ~~~ 即所有Java文件对应的目录层次要和包的层次一致。 编译后的`.class`文件也需要按照包结构存放。如果使用IDE,把编译后的`.class`文件放到`bin`目录下,那么,编译的文件结构就是: ~~~ascii package_sample └─ bin ├─ hong │ └─ Person.class │ ming │ └─ Person.class └─ mr └─ jun └─ Arrays.class ~~~