Java 快速導覽 - import 陳述

關鍵字 (keyword) 中的 import 可用來引入 API 中的功能,或是自行定義的套件 (package) 。我們在這裡介紹如何引入自行定義的套件,至於 API 的部份,留到《 Java API 分類導覽》再個別討論用法。



假設有兩個類別檔案 -- ADemo.java 與 BDemo.java 。 ADemo.java 的檔案內容如下
package demo;

public class ADemo {
    public int data = 55;
    
    public void hello() {
        System.out.println("This is ADemo....");
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:ADemo.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


BDemo.java 如下
package demo;

public class BDemo {
    public int data = 22;
    
    public void hello() {
        System.out.println("This is BDemo....");
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:BDemo.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


編譯時要注意,必須指定目錄路徑,如下



我們現在利用 import 陳述 (statement) 引入 ADemo 與 BDemo ,如下範例
import demo.ADemo;
import demo.BDemo;

public class P2Drive {
    public static void main(String[] args) {
        ADemo a = new ADemo();
        BDemo b = new BDemo();
        
        System.out.println(a.data);
        a.hello();
        System.out.println(b.data);
        b.hello();
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:P2Drive.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


編譯後執行,如下



import 通常會放在程式原始檔的最前面,此例中是第 1 行與第 2 行
import demo.ADemo;
import demo.BDemo;


套件名稱為 demo ,其後用英文句點連接類別名稱,此即套件以當前目錄完整的路徑名。


另一種引入的方式為利用萬用字元 * ,如下範例
import demo.*;

public class P3Drive {
    public static void main(String[] args) {
        ADemo a = new ADemo();
        BDemo b = new BDemo();
        
        System.out.println(a.data);
        a.hello();
        System.out.println(b.data);
        b.hello();
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:P3Drive.java
    功能:示範物件導向的基本觀念 
    作者:張凱慶
    時間:西元 2010 年 10 月 */


但使用萬用字元 * 編譯的時候需要格外留意,由於 Java 官方編譯器 (complier) 設計的問題,因此編譯時須提供另一個參數「 -sourcepath demo 」,指定程式中使用自訂類別的套件目錄,如下



至於利用萬用字元 * 引入 API 就沒有這樣的困擾了。


中英文術語對照
關鍵字keyword
套件package
陳述statement
編譯器complier






沒有留言: