package JDK 6java applet java awtjava awt colorjava
- Slides: 47
為何需要package 舉例來說,JDK 6提供的類別庫有很多,例如java. applet、 java. awt、java. awt. color、java. awt. font、java. io、java. lang、 java. lang. ref、java. math…等等。 您可以在JDK 6的文件網頁中查到所有的類別庫,網址如下: http: //java. sun. com/javase/6/docs/api/index. html? overviewsummary. html 若您已經下載了JDK 6的完整檔案,則可以在下列目錄中找到 相同的網頁,路徑如下: jdk-6 -docdocsapiindex. html
定義package 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /* 檔名: ch 11_01. java 功能: 類別庫 */ package ch 11; import java. lang. *; public class ch 11_01 //主類別 { public static void main(String args[]) { CCircle obj = new CCircle(5. 0); obj. show. Area(); } } class CCircle { protected double area; protected double radius; protected final double pi=3. 14; public CCircle(double i){ radius=i; } public void show. Area() { area=radius*pi;
定義package 但我們不可透過下列指令執行ch 11_01類別檔: 使用本章之前的執行方式是行不通的 C: >java my. Java. ch 11_01 Exception in thread "main" java. lang. No. Class. Def. Found. Error: my. Java/ch 11_01 ( wrong name: ch 11/ch 11_01) at java. lang. Class. Loader. define. Class 1(Native Method) at java. lang. Class. Loader. define. Class(Unknown Source) at java. security. Secure. Class. Loader. define. Class(Unknown Source) at java. net. URLClass. Loader. access$000(Unknown Source) at java. net. URLClass. Loader$1. run(Unknown Source) at java. security. Access. Controller. do. Privileged(Native Method) at java. net. URLClass. Loader. find. Class(Unknown Source) at java. lang. Class. Loader. load. Class(Unknown Source) at sun. misc. Launcher$App. Class. Loader. load. Class(Unknown Source) at java. lang. Class. Loader. load. Class. Internal(Unknown Source)
切割檔案 【觀念範例11 -2】:將各類別切為各檔案。 範例11 -2:CCircle. java(隨書光碟 my. Javach 11CCircle. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 檔名: CCircle. java //未宣告package class CCircle { protected double area; protected double radius; protected final double pi=3. 14; public CCircle(double i){ radius=i; } public void show. Area() { area=radius*pi; System. out. println("Area=" + area); } }
切割檔案 ch 11_02. java(隨書光碟 my. Javach 11_02. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /* 檔名: ch 11_02. java 功能: 以類別切割檔案 */ //未宣告package import java. lang. *; public class ch 11_02 //主類別 { public static void main(String args[]) { CCircle obj = new CCircle(5. 0); obj. show. Area(); } }
切割檔案 範例說明: 我們將程式依照類別切割為ch 11_02. java與CCricle. java兩個檔案, 由於ch 11_02. java使用到CCircle類別,所以應該編譯CCricle. java產 生CCircle. class也編譯ch 11_02. java,如此執行時就不會出現錯誤。 編譯及執行過程如下: 執行結果: 編譯CCircle. java C: my. Javach 11>javac ch 11_02. java C: my. Javach 11>java ch 11_02 Area=78. 5 編譯ch 11_02. java 執行ch 11_02. class
切割檔案 宣告package 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 檔名: 位於pack 1CRect. java package pack 1; //本檔案內的類別屬於pack 1類別庫 class CRect { protected double area; protected double len, width; public CRect(double i, double j){ len=i; width=j; } public void show. Area() { area=len*width; System. out. println("Area=" + area); } }
切割檔案 宣告package ch 11_03. java(隨書光碟 my. Javach 11pack 1ch 11_03. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /* 檔名: 位於pack 1ch 11_03. java 功能: 將不同檔案的類別宣告為同一個類別庫 */ package pack 1; //本檔案內的類別屬於pack 1類別庫 public class ch 11_03 //主類別 { public static void main(String args[]) { CRect obj = new CRect(5. 0, 3. 0); obj. show. Area(); } }
切割檔案 使用不同package的類別 【觀念範例11 -4】:使用其他類別庫的類別。 範例11 -4:CRect. java(隨書光碟 my. Javach 11pack 2 aCRect. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 檔名: 位於pack 2 aCRect. java package pack 2 a; //本檔案內的類別屬於pack 2 a類別庫 public class CRect //宣告為public才可以讓其他類別庫使用 { protected double area; protected double len, width; public CRect(double i, double j){ len=i; width=j; } public void show. Area() { area=len*width; System. out. println("Area=" + area); } }
切割檔案 使用不同package的類別 ch 11_04. java(隨書光碟 my. Javach 11pack 2 bch 11_04. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /* 檔名: 位於pack 2 bch 11_04. java 功能: 使用其他類別庫的類別 */ package pack 2 b; //本檔案內的類別屬於pack 2 b類別庫 public class ch 11_04 //主類別 { public static void main(String args[]) { pack 2 a. CRect obj = new pack 2 a. CRect(5. 0, 3. 0); obj. show. Area(); } }
切割檔案 使用不同package的類別 【觀念範例11 -5】:透過import匯入類別。 範例11 -5:CRect. java(隨書光碟 my. Javach 11pack 3 aCRect. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 檔名: 位於pack 3 aCRect. java package pack 3 a; //本檔案內的類別屬於pack 3 a類別庫 public class CRect //宣告為public才可以讓其他類別庫使用 { protected double area; protected double len, width; public CRect(double i, double j){ len=i; width=j; } public void show. Area() { area=len*width; System. out. println("Area=" + area); } }
切割檔案 使用不同package的類別 ch 11_05. java(隨書光碟 my. Javach 11pack 3 bch 11_05. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /* 檔名: 位於pack 3 bch 11_05. java 功能: 使用其他類別庫的類別 */ package pack 3 b; //本檔案內的類別屬於pack 3 b類別庫 import pack 3 a. CRect; //匯入類別 public class ch 11_05 //主類別 { public static void main(String args[]) { CRect obj = new CRect(5. 0, 3. 0); obj. show. Area(); } }
切割檔案 封裝修飾字對package的影響 【觀念範例11 -6】:類別封裝對繼承的影響。 範例11 -6:CShape. java(隨書光碟 my. Javach 11pack 4 aCShape. java) 1 2 3 4 5 6 7 // 檔名: 位於pack 4 aCShape. java package pack 4 a; //本檔案內的類別屬於pack 4 a類別庫 public class CShape //請刪除public, 再試著編譯一次 { protected double area; }
切割檔案 封裝修飾字對package的影響 CRect. java(隨書光碟 my. Javach 11pack 4 bCRect. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 // 檔名: 位於pack 4 bCRect. java package pack 4 b; //本檔案內的類別屬於pack 4 b類別庫 public class CRect extends pack 4 a. CShape //public可以讓其他類別庫使用 { protected double len, width; public CRect(double i, double j){ len=i; width=j; } public void show. Area() { area=len*width; System. out. println("Area=" + area); } }
切割檔案 封裝修飾字對package的影響 ch 11_06. java(隨書光碟 my. Javach 11pack 4 cch 11_06. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /* 檔名: 位於pack 4 cch 11_06. java 功能: 封裝對於繼承的影響 */ package pack 4 c; //本檔案內的類別屬於pack 4 c類別庫 import pack 4 b. CRect; //匯入類別 public class ch 11_06 //主類別 { public static void main(String args[]) { CRect obj = new CRect(5. 0, 3. 0); obj. show. Area(); } }
切割檔案 封裝修飾字對package的影響 執行結果: 範例說明: C: my. Javach 11>javac pack 4 aCShape. java C: my. Javach 11>javac pack 4 bCRect. java C: my. Javach 11>javac pack 4 cch 11_06. java C: my. Javach 11>java pack 4 c. ch 11_06 Area=15. 0 (1)隸屬於pack 4 a的CShape被宣告為public,故隸屬pack 4 b的CRect 類別也可以繼承它,但仍須指明類別庫名稱(或採用import方式), 如同CRect. java的第 4行。並且在CRect. java內也可以使用父類別 CShape的protected成員area。 (2)若將CShape. java第 4行的public刪除,則在編譯CShape. java時不 會有錯誤,但在編譯CRect. java時將會出現錯誤,因為無法繼承 CShape。
- Import java.awt.event.*
- Import java.awt.* import java.applet.*
- Import java.applet.applet
- Applet class in java
- Applet merupakan contoh dari jenis swing
- Tanslate
- Java applet
- G.draw
- Difference between applet and awt
- Difference between local and remote applet
- Jdk provides an interpretive compiler for java.
- Perbedaan awt dan swing
- Eclipse.ini jdk 설정
- Jdk jvm
- Java project loom
- Jdk berisi sekumpulan
- Java awt event listener
- Java gui awt
- Text bolo
- Import java.awt.*
- Java awt layout
- Java awt swing
- Import java.awt.*
- Import java.awt.*;
- Setlayout java
- Import java.awt.*
- Java
- Event
- Import javax.swing.jframe
- Awt vs swing
- Import java.awt.*
- Import java.awt.*
- Import java.awt.color
- Games_comp
- Java applet program draw cartoon
- Import java.applet.*
- Applet program in java
- Syntax of applet tag in java
- Applet structure in java
- Java applet hello world
- Applet java ejemplo
- Moving ball program in java using applet
- Java applet test
- Hierarchy of applet
- Random number generatore
- Java.lang package
- Java package design
- Math package java