2014年4月16日 星期三

套件 Package: 用 package 管理 - 匯入 import

檔案:Car.java
package test3_1;

public class Car {
   public void show() {
     System.out.println("Class Car");
   }
}
檔案:CarTest1.java
package test3_2;
import test3_1.Car;

class CarTest {
   public static void main(String args[]){
     Car car = new Car();
     car.show();
   }
}
編譯程式
$ javac -d ./ Car.java CarTest1.java
檢查編譯後結果
$ ls -l test3_1
total 8
-rw-r--r--  1 elvismeng  staff  392  4  3 14:07 Car.class

$ ls -l test3_2
total 8
-rw-r--r--  1 elvismeng  staff  327  4  3 14:07 CarTest.class
執行程式
$ java test3_2/CarTest

Class Car

建立 subpackage

我們可在 package 底下,再建立一個 subpackage,將性質、功能相近的類別彙集在同一個 package 當中,會變得更容易管理。

用這方法可建立出 package 與 package 的階層關係,但是要注意 package 與 subpackage 不必有絕對的裙帶關係,只要根據功能別加以適當分類就好。

檔案: Car.java
package test4_1.sub;

public class Car {
   public void show() {
     System.out.println("Class Car");
   }
}
檔案: CarTest1.java
package test4_2;
import test3_1.Car;

class CarTest {
   public static void main(String args[]){
     Car car = new Car();
     car.show();
   }
}
編譯程式
$ javac -d ./ Car.java CarTest1.java
檢視編譯後結果
$ ls -l test4_1/sub
total 8
-rw-r--r--  1 elvismeng  staff  396  4  3 14:18 Car.class

$ ls -l test4_2
total 8
-rw-r--r--  1 elvismeng  staff  327  4  3 14:18 CarTest.class
執行結果
$ java test4_2/CarTest

Class Car

匯入 import 多個類別

我們可一口氣以萬用字 * 匯入多個 package
import java.io.*

但記住:subpackage 與 package 有階層形式,但沒有實質上的裙帶關係,所以匯入時要特別設定
import java.awt.*;
import java.awt.image.*;
另外要提的是,程式若沒有匯入任何 package,事實上系統是用預設的 java.lang。

沒有留言:

張貼留言