使用包 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
如果想使用某一包内的类,有如下方式:
如果有两个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