1. 爲什麼會有包,package
因爲可能會出現相同的類名,所以通過 包名.類名 來作 區分
2. 格式
package 包名;
例如
package a.b.c.d.test;
假如一個類有包名,那麼他就不能任意存放位置,否則虛擬機無法加載這樣的類。
3. 實際的例子
Learn.java
package a.b;
public class Learn {
public static void main (String args[]) {
System.out.println("hello!");
}
};
編譯命令
javac Learn.java
會在當前目錄生成Learn.class
lydia@lydia:~/sgy/java_learn/package_import_learn$ ls
Learn.class Learn.java
執行結果
lydia@lydia:~/sgy/java_learn/package_import_learn$ java Learn
錯誤: 找不到或無法加載主類 Learn
得按照下面的步驟,才能正確執行這個執行程序
- 需要有特定的package目錄纔行
lydia@lydia:~/sgy/java_learn/package_import_learn$ tree -A
.
├── a
│ └── b
│ └── Learn.class
└── Learn.java
- 實際執行的命令
java a.b.Learn
另外一種編譯的方式,他會直接創建包的目錄
javac -d . Learn.java
執行結果
lydia@lydia:~/sgy/java_learn/package_import_learn$ java a.b.Learn
hello!