第八章 package • 例如: – 就之前的 graphics package 範例: • javac –d. Draw. java • javac –d. Paint. java – 分別在 java 檔案所在的現行 作目錄下編譯產 生 class 檔案。 • 編譯後的 Draw. class 及 Paint. class 將會被存放於: –. graphicsDraw. class –. graphicsPaint. class 18 Java 2程式實務
第八章 package import java. io. *; class Main { public static void main(String[] args) { Buffered. Reader in = new Buffered. Reader(…); // Buffer. Reader 是定義在 java. io 中的類別。 …; } } 26 Java 2程式實務
第八章 package // 檔案:M. java package my. Package; class C { public C() { System. out. println("my. Package. C()"); } } public class M { public M() { System. out. println("my. Package. M()"); } } import my. Package. *; class G { public static void main(String[] args) { C c = new C(); // 編譯錯誤! // 類別 C 不可被其他 package 的類別使用! M m = new M(); } } 31 Java 2程式實務
第八章 package // 檔案:D. java package my. Package; // 檔案:M. java import my. Package. *; class C { int i; } public class M { // 類別 D 屬於 default package! public static void main(String[] args) { C c = new C(); public class D { public static void main(String[] args) { C c = new C(); c. i = 10; // OK! // 類別 C 與類別 D 定義在同一個 package 中。 } } c. i; // 編譯錯誤! //不可使用 my. Package 中的預設存取資源! } } 33 Java 2程式實務