1.包 package pack; /*定義包,放在程式的第一行,包名所以字母小寫*/class PackageDemo{ public static void main(String[] args) { packa.DemoA a=new packa.DemoA(); /*編譯時將會出現兩個錯誤, ...
1.包
package pack; /*定義包,放在程式的第一行,包名所以字母小寫*/
class PackageDemo
{
public static void main(String[] args)
{
packa.DemoA a=new packa.DemoA(); /*編譯時將會出現兩個錯誤,
1.類名錯誤(需要在類名前寫指定包下的名字)
2.package包不在(包定義在別的目錄下,需要設置變數(set=包所在的位置))
3.許可權不夠,要足夠大,設置成public,訪問的成員也要public
4.編譯順序,先編譯要用的類
*/
a.show();
}
}
/*-d的使用*/
/*每一次添加一次文件,那不是很煩,所以,有一個參數給我們添加
加-d . 兩個空格隔開,就相當於添加了當前目錄的包了
以前沒有包,是把當前目錄當成預設包存在
-d 還可以指定去其他目錄 這樣做能夠將當前文件與運行程式相分離,這樣做,我們只需要將程式給別人就可以
(在其它盤的運行程式想要運行,必須設定類的位置,否則沒有結果,就是設置環境環境變數,設置到副目錄即可)
*/
/*不同包中的類該如何進行訪問呢?在程式上面寫了4個註意事項*/
/*包的特點*/
/*包可以寫很多類,一個公有,其它私有,所以也具有封裝性*/
/*包的總結
包與包之間進行訪問,被訪問包中的類以及類中的成員,需要public訪問
不同包中的子類還可以直接訪問父類中被protected訪問的成員
包與包之間可以使用的許可權只有兩種 public 和 protected
複習:許可權大於等於父類函數的許可權才能覆蓋
一個包內不能出現兩個公有類或者兩個公有介面,必須新建一個包,不能集成
多重包,也是用點
*/
/*為了簡化類名的書寫(創建類的對象在類名前要寫很多包名,這很麻煩)
1.使用關鍵字 import(導入的意思)(格式:包名.類名)
2.導入了之後,直接創建對象即可
3.導入的是包中的類
4.加* 代表導入所有類(最後加*是導入子包中所有的類)
5.建議不要用通配符,因為這比較占用記憶體空間,用那個就載入那個,以後基本不用自己加
6.不同包有同一類名,那麼要避免二義性,要在類名前加具體的包名
7.建立包名不要重覆,可以使用url來完成定義,url是唯一的
8.包名怎麼定義? 功能變數名稱+包名(具體功能的縮寫)
*/
package packa;
public class DemoA extends packb.DemoB /*繼承另一包里的類*/
{
public static void main(String args[])
{
void show()
{
System.out.println("demoa show run");
method();
}
}
}
package packb;
public class DemoB
{
public static void main(String args[])
{
public void method()
{
System.out.println("demob method run");
}
}
}
2.jar包
/*Java的壓縮包(什麼是Jar包:用到jdk的工具 jar.exe)
1.方便項目的攜帶
2.方便於使用,只要在classPath設置jar路徑即可
3.資料庫驅動,SSH框架等都是以jar包實現的
*/
/*複習
1.編譯,- d 對包的編譯
2.運行 包名+類名
*/
/*怎麼創建,與java等的工具使用類似
1.先瞭解
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 從檔案中提取指定的 (或所有) 文件
-u 更新現有的歸檔文件
-v 在標準輸出中生成詳細輸出
-f 指定歸檔文件名
-m 包含指定清單文件中的清單信息
-e 為捆綁到可執行 jar 文件的獨立應用程式
指定應用程式入口點
-0 僅存儲; 不使用情況任何 ZIP 壓縮
-M 不創建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄並包含其中的文件
2.創建
(要壓縮包所在的目錄)jar -cf (壓縮包名字 ***。jar) (放進去的包名)
3.查看
jar -tf (壓縮包名字 ***。jar)
4.使用jar包(平時都是從網上下載)
1.下載來的jar包 看index文件(在doc裡面)
2.- cfv -tvf >路徑.txt(可以顯示的方式都用這個放在文擋下查看)
*/