Java 入門指南 V2.00 - 單元 11 - 套件







































Java 入門指南 V2.00 - 單元 11 - 套件









套件 (package) 是用來組織類別 (class) 檔案的資料夾名稱





這需要用到關鍵字 (keyword) package 宣告套件識別字 (identifier) ,我們將上個單元的 ClassDemo05 改成 ClassDemo06 ,然後宣告放在套件 classdemo












































































































































001
package classdemo; // 宣告套件
002
003
public class ClassDemo06 {
004   private int a;
005
006   public ClassDemo06(int a) {
007       setA(a);
008   }
009
010   public void setA(int a) {
011      this.a = a;
012   }
013
014   public int getA() {
015      return a;
016   }
017
018   public int doSomething(int a) {
019      return this.a + a;
020   }
021
022   public static void main(String args) { 
023      ClassDemo06 d = new ClassDemo06(13);
024
025      System.out.println();
026      System.out.println(d.getA());
027      System.out.println(d.doSomething(9));
028      System.out.println();
029   }
030}
031 
032/* 檔名: ClassDemo06.java
033   作者: Kaiching Chang
034   時間: September, 2014  */


package 通常放在程式碼的第 1 行






001
package classdemo; // 宣告套件


編譯時要加上 -d 及路徑的旗標,我們路徑用小數點 . ,表示當前目錄





編譯完成就會產生新的資料夾 classdemo ,而 ClassDemo06.class 就放在這裡





執行時要加上資料夾的路徑





簡單說套件就是路徑名稱,這可以是多層的,例如 demo.classdemo 就在 demo 資料夾中的 classdemo 資料夾。


至於在其他程式中使用套件裡編譯好的 .class 檔案,就要用到關鍵字 import 了,例如我們在下面的 ClassDemo07.java 引入套件 classdemoClassDemo06












































































001// 引入套件中的類別名稱
002
import classdemo.ClassDemo06;
003
004
public class ClassDemo07 {
005   public static void main(String args) { 
006      // 建立套件裡的類別建立物件
007      ClassDemo06 d = new ClassDemo06(11);
008
009      System.out.println();
010      System.out.println(d.getA());
011      System.out.println(d.doSomething(8));
012      System.out.println();
013   }
014}
015 
016/* 檔名: ClassDemo07.java
017   作者: Kaiching Chang
018   時間: September, 2014  */


import 也會放在程式檔案的一開始,這是因為 import 用來引入識別字名稱,引入後才可以使用所引入的識別字












001// 引入套件中的類別名稱
002
import classdemo.ClassDemo06;


留意這裡是引入 classdemo.ClassDemo06 ,這讓我們在下面可以直接使用 ClassDemo06 的名稱












006// 建立套件裡的類別建立物件
007ClassDemo06 d = new ClassDemo06(11);


當然我們也可以只引入 classdemo 的套件名稱,不過這樣使用 ClassDemo06 就要連套件名稱一起用,也就是要用 classdemo.ClassDemo06 宣告 ClassDemo06 型態 (type) 的物件 (object) 。



編譯執行,結果如下





接下來我們在進入軟體開發之前,把焦點放回 static 這個關鍵字上。



中英文術語對照




























套件package
類別class
關鍵字keyword
識別字identifier
型態type
物件object


重點整理




  1. 宣告套件使用關鍵字 package ,編譯時加上參數 -d ,完成編譯後該套件的類別會放到套件名稱的資料夾中。

  2. 單獨執行套件中的類別檔案,要在執行指令加上路徑。

  3. 若要在其他類別中使用套件中編譯好的 .class 檔案,就要用關鍵字 import 引入到目前檔案中。



問題與討論




  1. 為什麼要用套件來組織類別檔案?

  2. 如果套件中編譯好的類別很多,能不能 import 一次就好了呢?



the end








沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

qBittorrent 4.1.1 免安裝中文版 - 取代uTorrent的BT下載器

Nhiều đồn đoán cho rằng bộ đồ "phá vỡ quy tắc" của Meghan Markle được lấy cảm hứng từ trang phục của Công nương Diana