Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CH02:從JDK到IDE

學習目標

瞭解與設定PATH
瞭解與指定CLASSPATH、SOURCEPATH
使用package與import管理類別
初探模組平台系統
認識JDK與IDE的對應

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

CH02:從JDK到IDE

  1. 1. 1
  2. 2. 從JDK到IDE 學習目標 • 瞭解與設定PATH • 瞭解與指定CLASSPATH、 SOURCEPATH • 使用package與import管理類別 • 初探模組平台系統 • 認識JDK與IDE的對應 2
  3. 3. 從 "Hello, World" 開始 3
  4. 4. • 副檔名是 .java • 主檔名與類別名稱必須相同 • 注意每個字母大小寫 • 空白只能是半型空白字元或是Tab字元 4
  5. 5. PATH是什麼? • Java的編譯器工具程式是javac 5
  6. 6. PATH環境變數 6
  7. 7. 7
  8. 8. 8
  9. 9. • 重新開啟命令提示字元之後,就會套用新的 環境變數 9
  10. 10. • 在安裝多個JDK或JRE的電腦中,必須知道 執行了哪個版本的JDK或JRE,確定PATH 資訊是一定要做的動作 10
  11. 11. JVM(java)與classpath • JVM的可執行檔副檔名是.class • 啟動JVM,要求JVM執行HelloWorld指令 11
  12. 12. • Java SE 11以後,可以使用java直接執行 .java檔案 12
  13. 13. • 試著切換至C: 13
  14. 14. • 使用-classpath 14
  15. 15. • JVM預設的CLASSPATH就是讀取目前資料夾 中的.class 15
  16. 16. 編譯器(javac)與classpath • C:workspaceclasses中有個已編譯的 Console.class 16
  17. 17. • 找不到Console類別(cannot find symbol) 17
  18. 18. • 在使用javac編譯器時,若要使用到其他類 別程式庫時,也必須指定CLASSPATH 18
  19. 19. 編譯器(javac)與sourcepath • labs資料夾的Hello1資料夾複製至C:workspace 19
  20. 20. 20
  21. 21. 21
  22. 22. 使用package管理類別 • 分門別類管理類別的方式,無論是實體檔案 上的分類管理,或是類別名稱上的分類管理 22
  23. 23. 23
  24. 24. • 原始碼檔案要放置在與package定義名稱階 層相同的資料夾階層。 • package定義名稱與class定義名稱,會結 合而成類別的完全吻合名稱(Fully qualified name)。 • 位元碼檔案要放置在與package定義名稱階 層相同的資料夾階層。 • 要在套件間共用的類別或方法(Method)必 須宣告為public。 24
  25. 25. 原始碼檔案與套件管理 • 所有原始碼檔案放在src中管理 • Console.java就必須放在src資料夾中的 cc/openhome/util資料夾 • 不容易發生原始碼檔案彼此覆蓋的問題 25
  26. 26. 完全吻合名稱 26
  27. 27. 位元碼檔案與套件管理 • 位元碼檔案放在classes資料夾中管理 • Console.class就必須放在classes資料夾中的 cc/openhome/util資料夾 27
  28. 28. 使用import偷懶 28
  29. 29. • 多次使用import: • 更偷懶一些: 29
  30. 30. • 偷懶也是有個限度 30
  31. 31. 31
  32. 32. • java.lang套件 32
  33. 33. JVM(java)與module-path • 模組平臺系統跟Java程式語言本身沒有關係 • 你基於Console撰寫了新的程式庫 • 有同事想要使用你的程式庫 • 你不要同事直接呼叫Console類別相關功能 • 程式庫之間錯綜複雜的相依性 33
  34. 34. 第一個模組 • 範例檔中labs/CH02資料夾中的Hello2資料夾 至C:workspace 34
  35. 35. • 建立一個module-info.java 35
  36. 36. • module-info.java只是個設定檔 • module關鍵字僅在這個設定檔中設定之用, 不是Java程式語言的一部份 • 目前只能存取同一模組中的API,並且依賴 在Java標準API的java.base模組 • 可以在module-info.java中自行設定模組可以 公開哪些API,或者是依賴在哪個模組 36
  37. 37. • 可以將編譯出來的類別,放在mods資料夾中 對應模組名稱的資料夾之中 • 其他開發者若要使用這個模組,可以在執行 java時,透過--module-path(或縮寫-p )指定模組路徑 37
  38. 38. 模組描述檔(Module descripto) • 可以透過--module或縮寫-m指定模組的程 式進入點 • 在完全吻合名稱前要指定模組名稱,然而, 這僅僅只是工具層面的需求,在程式碼撰寫 上,使用模組中的API,不用進行任何變更 38
  39. 39. • 也可以基於類別路徑來使用 • 在類別路徑下被發現的類別,都會被自動歸 類到一個未具名模組(Unnamed module) • 未具名模組可以讀取其他模組 • 在模組路徑下被發現的類別,都屬於某個具 名模組(Named module) 39
  40. 40. 編譯器(javac)與module-path • 複製範例檔中labs/CH02的Hello3資料夾至 C:workspace • 為了讓其他模組能使用此模組下的API,必 須在模組描述檔中使用exports 40
  41. 41. • 對cc.openhome.util模組進行編譯: • 使用requires宣告依賴的模組 41
  42. 42. • 對cc.openhome模組進行編譯 • 在使用javac進行編譯時,也可以使用-- module-path指定模組路徑 42
  43. 43. 編譯器(javac)與module- source-path • --module-source-path可以指定模組的 原始碼路徑 43
  44. 44. IDE專案管理基礎 44
  45. 45. 45
  46. 46. 46
  47. 47. 47
  48. 48. 48
  49. 49. 49
  50. 50. 使用了哪個JRE? • 如果設定了PATH,會執行PATH 順序下找到 的第一個java可執行檔 50
  51. 51. 51
  52. 52. 52
  53. 53. 53
  54. 54. 類別檔案版本 54
  55. 55. 55
  56. 56. 56
  57. 57. 57
  58. 58. 58

    Be the first to comment

學習目標 瞭解與設定PATH 瞭解與指定CLASSPATH、SOURCEPATH 使用package與import管理類別 初探模組平台系統 認識JDK與IDE的對應

Views

Total views

324

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

36

Shares

0

Comments

0

Likes

0

×