package package package graphics package java io package

  • Slides: 33
Download presentation

第八章 package • package 名稱可以是一個簡單名稱也可以是 一串以 ‘. ’ 連結的字串所形成的名稱: – package graphics; – package

第八章 package • package 名稱可以是一個簡單名稱也可以是 一串以 ‘. ’ 連結的字串所形成的名稱: – package graphics; – package java. io; – package java. awt. swing. plaf. basic; – package org. omg. CORBA; – package java. awt. dnd. peer; 9 Java 2程式實務

第八章 package • 在 Java 中可以將不同性質、用途的類別分別 歸屬到不同的 package 中。 // 檔案名稱:Draw. java package graphics;

第八章 package • 在 Java 中可以將不同性質、用途的類別分別 歸屬到不同的 package 中。 // 檔案名稱:Draw. java package graphics; //定義類別 Draw 屬於 package graphics。 // 檔案名稱:Paint. java package graphics; //定義 Paint 類別屬於 package graphics class Draw { … } // 檔案結束 class Paint { … } // 檔案結束 11 Java 2程式實務

第八章 package • 例如: – 在 java. lang 之中定義的 String 類別,其完整的名 稱就是 java. lang.

第八章 package • 例如: – 在 java. lang 之中定義的 String 類別,其完整的名 稱就是 java. lang. String。 – 定義在 java. util 之中的例外 Empty. Stack. Exception 的完整名稱就成為 java. util. Empty. Stack. Exception, – 定義在 java. io 中的例外 Not. Active. Exception 的完 整名稱就成為 java. io. Not. Active. Exception。 15 Java 2程式實務

第八章 package • 以程式為例: package java. io; class Not. Active. Exception extends Exception {.

第八章 package • 以程式為例: package java. io; class Not. Active. Exception extends Exception {. . . } 16 Java 2程式實務

第八章 package • 例如: – 就之前的 graphics package 範例: • javac –d. Draw. java

第八章 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)

第八章 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() {

第八章 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.

第八章 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程式實務