day09面向對象-

包機制

 

問題:當定義了多個類的時候,可能會發生類名的重複問題。java

java中採用包機制處理開發者定義的類名衝突問題。設計模式

怎麼使用java的包機制呢?函數

  1. 使用package 關鍵字。
  2. package 包名。
  3.  

問題:工具

  1. javac PackDemo1.java編譯沒有問題。
  2. java PackDemo1 運行出錯。

 

 

錯誤緣由分析:spa

在當前目錄下找不到有pack目錄,更加找不到pack目錄下面的PackageDemo1.java文件。設計

解決辦法: blog

  1. 本身在當前目錄下新建一個pack目錄。
  2. 執行Java pagk.PackageDemo1命令。(包其實就是文件夾).

存在的問題:使用包機制的話,咱們是否每次都要本身建立一個文件夾呢?繼承

解決:ip

在編譯的時候則能夠指定類文件存放的文件夾了。開發

javac -d . PackageDemo1.java    -d 後面跟着就是包名,指定包存放的路徑。

 

包的優勢

  1. 防止類文件衝突。
  2. 使源文件與類文件分離,便已軟件最終發佈。

注意細節

  1. 一個java類只能定義在一個包中。
  2. 包語句確定是描述類的第一條語句。

包機制引起的問題

有了包以後訪問類每次都須要把包名和類名寫全。

 

解決:使用import語句。

格式 import 包名.類名 ;

 

注意細節:

  1. 若是想使用一個包中的許多類時,這時不須要多條的導入語句,使用 *」號通配符表明全部的類。
  2. 使用*時不能導入包中的子類包的class文件。
  3. import語句能夠是多條.

訪問修飾符

訪問修飾符是用來控制類、屬性、方法的可見性的關鍵字稱之爲訪問修飾符。

 

 

  1. public 一個類中,同一包中,子類中,不一樣包中
  2. protected  一個類中,同一包中,子類中
  3. default 一個類中,同一包中
  4. private 一個類中

 

  1. (修飾類成員)類成員
    1. 成員使用private修飾只在本類中使用。
    2. 若是一個成員沒有使用任何修飾符,就是default,該成員能夠被包中的其
    3. 他類訪問
    4. protected成員被protected修飾能夠被包中其餘類訪問,而且位於不一樣
    5. 包中的子類也能夠訪問
    6. public修飾的成員能夠被全部類訪問
  2. (修飾類)
    1. 類只有兩種public和默認(成員內部類可使用private))
    2. 父類不能夠是privateprotected,子類沒法繼承
    3. public類能夠被全部類訪問
    4. 默認類只能被同一個包中的類訪問

Jar

1jar就是打包文件

jar文件時一種打包文件java active File,zip兼容,稱之爲jar

開發了不少類,須要將類提供給別人使用,一般以jar包形式提供.當項目寫完以後,須要及將class字節碼文件打包部署給客戶。如何打包?可使用jar命令.

2jar命令

1jar工具存放於jdkbin目錄中(jar.exe)

2jar工具:主要用於對class文件進行打包(壓縮)

3dos中輸入jar查看幫助

3案例使用jar命令
day10中的cn文件打包爲名字爲test.jar文件(cn 文件是使用javac -d 編譯帶包的class文件夾)

jar cvf test.jar cn

詳細命令:

1jar cf test.jar cn 在當前目錄生成test.jar 文件,沒有顯示執行過程

2jar cvf test.jar cn 顯示打包中的詳細信息

3jar tf test.jar  顯示jar文件中包含的全部目錄和文件名

4jar tvf test.jar 顯示jar文件中包含的全部目錄和文件名大小,建立時間詳

細信息

5jar xf test.jar  解壓test.jar到當前目錄,不顯示信息

6jar xvf test.jar 解壓test.jar到當前目錄,顯示詳細信息

7:可使用WinRaR進行jar解壓

8;將兩個類文件歸檔到一個名爲 test2.jar 的歸檔文件中:

jar cvf test2.jar Demo3.class Demo4.class

9:重定向

1tvf能夠查看jar文件內容,jar文件大,包含內容多,dos看不全。

2:查看jdk中的rt.jar 文件 jar tvf rt.jar

3jar tvf rt.jar>d:\rt.txt

模板設計.

設計模式就是爲了解決某類事情提出的解決方法。

案例:計算一段程序的執行時間

 

 

存在問題:

  1. 計算的程序的可變的。
  2. 把會改變的程序抽取出來單獨作一個方法。
  3. 可是該方法不能肯定運行的代碼,聲明爲抽象的方法。
  4. 建立實現類繼承並實現父類的未實現的函數。
  5. 爲了不子類重寫父類的模版代碼,須要將模版代碼修飾爲final

 

 

 

案例二:炒菜作飯

 

 

相關文章
相關標籤/搜索