璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


technology_stack:java:package

使用包 package 来组织代码。类名的全称是 包名.类名

在代码文件前可以申明包名称:

package a;
 
public class Firstclass{
}

在Java虚拟机执行的时候,JVM只看完整类名,因此,只要包名不同,类就不同。包可以是多层结构,使用.隔开。例如:java.util

需要注意:包没有父子关系。java.util和java.util.zip是不同的包,两者没有任何继承关系。

只要位于统一个包的类,可以互相使用。

文件目录

包名称需要和文件目录匹配,每一个.就是一层目录。如:

package_sample
└─ src
    ├─ hong
    │  └─ Person.java
    │  ming
    │  └─ Person.java
    └─ mr
       └─ jun
          └─ Arrays.java

引用

如果想使用某一包内的类,有如下方式:

  1. 直接写完整类名
  2. 使用import,导入包的完整类名

如果有两个class的名称相同,均想引用使用时,只能import其中一个,另一个必须使用完整类名。

为了避免名字冲突,我们需要确定唯一的包名。推荐的做法是使用倒置的域名来确保唯一性。

编译与运行

如果我们有如下目录:

work
├── bin
└── src
    └── com
        └── itranswarp
            ├── sample
            │   └── Main.java
            └── world
                └── Person.java

bin目录用于存放编译后的class文件。如何一次性编译好所有源码?

在work目录下

javac -d ./bin src/**/*.java

其中 -d 参数用于指定编译后的目录。

之后就可以直接运行了,其中需要指定classpath。

java -cp bin com.itranswarp.sample.Main 
/app/www/public/data/pages/technology_stack/java/package.txt · 最后更改: 2023/03/06 06:19 由 温婕莺