JAVA 包與包之間訪問(package)
阿新 • • 發佈:2019-02-05
//僅作為學習筆記
一、包的用處
- 對類檔案進行分類管理。
- 給類提供多層名稱空間。
- 寫在程式檔案的第一行。
- 類名的全稱的是 :包名.類名。
- 包也是一種封裝形式。
package cn.itstu; class PackageDemo { /* 用javac -d . PackageDemo.java 在當前目錄下自動生成包的資料夾 【javac -d c:\ PackageDemo.java】在指定目錄C盤下自動生成包的資料夾 注意:執行.class的檔案時正確的類名是:java cn.itstu.PackageDemo */ public static void main(String args[]) { System.out.println("hello package!!"); } }
二、包與包之間的訪問
package cn.itstu; class PackageDemo { /* 將原始檔編譯打包到C:\myclass 資料夾下 */ public static void main(String args[]) { /* cmd輸入命令 1.javac -d c:\myclass DemoA.java 2.set classpath=c:\myclass 3.javac -d c:\myclass PackageDemo.java 4.java cn.itstu.PackageDemo */ packa.DemoA d=new packa.DemoA(); d.show(); //packb.DemoB b=new packb.DemoB(); //b.method(); error 訪問許可權不夠 } }
package packa;
public class DemoA extends packb.DemoB //類的許可權必須是public
{
public void show()//方法的許可權也必須是public
{
System.out.println("demoa show run");
method();
}
}
結論:package packb; public class DemoB { /* public */ protected void method() { System.out.println("demob method run"); } /*當method方法被public修飾,可以被其子類DemoA訪問, 也可以被其他包的類訪問,但是當method方法被protected 修飾,method方法只能被其子類訪問。 */ }
- 包與包之間進行訪問,被訪問的包中的類以及類中的成員,需要public修飾。
- 不同包中的子類還可以直接訪問父類中被protected許可權修飾的成員。
- 包與包之間可以使用的許可權只有兩種,public protected。
三、導包 import
通過import我們可以簡化類名的書寫。 包名我們一般用url,因為url具有唯一性。如: package com.qq.demo; 導包:import com.qq.demo.*; //*是萬用字元,表示匯入com.qq.demo包下的所有類,開發中推薦使用匯入具體類名,需要哪個類匯入哪個,可以節省記憶體開銷,如: import com.qq.demo.ClassA;注意:我們匯入兩個包 import packa.*; import packb.*; 如果這兩個包中有相同的類classA存在,我們在使用類的時候必須指明使用哪個包下的該類 如 :packa.ClassA a=new packa.ClassA(); packb.ClassA b=new packb.ClassA();
四、jar包
- Java的壓縮包
- 方便專案的攜帶。
- 方便於使用,只要在classpath設定jar路徑即可。
- 資料庫驅動,SSH框架等都是以jar包體現的。
• 建立jar包 jar -cvf mypack.jar packa packb
• 檢視jar包 jar -tvf mypack.jar [>定向檔案] 如:jar -tvf mypack.jar >c:\1.txt
• 解壓縮 jar -xvf mypack.jar
• 自定義jar包的清單檔案 jar –cvfm mypack.jar mf.txt packa packb