包(Package)介紹
包:本質上就是文件夾。
包的作用
- 解決類名重復產生沖突的問題(后編譯的類名會把前面的類名覆蓋掉)。
- 便於軟件版本的發布。
包的定義格式
- 都是小寫字母。
- 多級包之間使用"."進行分割。
- 多級包的定義規范:公司的網站地址翻轉(去掉 www)。
- 比如百度的網站址為 www.baidu.com,那么所定義的包的結構就是:com.baidu.自定義包名。
注意事項
- package 語句必須是程序的第一條可執行的代碼。
- package 語句在一個 java 文件中只能有一個。
- 如果沒有 package,默認表示無包名。
- 如果一個類加上了包語句,那么該類的完整類名就是:
包名.類名
生成包文件夾的編譯
javac -d <class文件存放路徑> <java源文件名>
導包
作用:簡化書寫(誤區:把一個類導入到內存中)
格式:
import 包名.類名; // 推薦使用
import 包名.*; // 會導致結構不清晰
注意事項:
- 一個 java 文件中可以出現多句導包語句。
- *號通配符可以匹配任何的類。
- java.lang 包(包括了 String、System 等類)是默認導入了 java 文件中的。
類與類之間的訪問
-
同一個包下的訪問:不需要導包,直接使用即可。
-
不同包下的訪問:
- import 導包后訪問
- 通過全類名(包名+類名)訪問
-
注意:import、package、class 三個關鍵字的擺放位置存在順序關系:
- package 必須是程序的第一條可執行的代碼。
- import 需要寫在 package 下面。
- class 需要在 import 下面。
權限修飾符

- protected:只可以被子類訪問,不管子類是不是和父類在同一個包中,即
子類限制修飾符。 - default:只可被同一個包中的其他類訪問,而不管其他類是不是子類,即
包限制修飾符。
jar 包
打 jar 包:使用 JDK 的 jar.exe
jar 包的作用:
- 方便用戶快速運行一個項目。
- 提供工具類給別人使用。
格式:jar cvf <文件名.jar> <class文件或者文件夾>
注意事項:
- 一個程序打完 jar 包后必須要在清單文件上指定入口類,格式:
Main-Class: 包名.類名 - jar 包雙擊運行僅對於圖形化界面的程序起作用,對控制台的程序不起作用。
- 如果要使用 jar 包里面的類,必須先設置 classpath 路徑。
