1 / 5

Java 入門到認證

Java 入門到認證. 二十、列舉物件與垃圾收集 作者:許裕永. 1、Enum. 1-1 宣告 enum EnumName{ObjectName1,ObjectName2 … .} enum:關鍵詞,Java編譯器會以背景作業方式建立繼承Enum類別的子類別,並建構類別中的列舉物件。 EnumName:自訂的類別名稱。 ObjectName:自訂的列舉物件名稱,個數不限。這些物件一定是:public、final、static。 1-2 自訂建構方法 我們可以像開發類別一樣,在eunm中,宣告及定義資料成員、方法成員及建構方法。 1-3 預設的重要方法

alesia
Download Presentation

Java 入門到認證

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java 入門到認證 二十、列舉物件與垃圾收集 作者:許裕永

  2. 1、Enum • 1-1 宣告 • enum EnumName{ObjectName1,ObjectName2….} • enum:關鍵詞,Java編譯器會以背景作業方式建立繼承Enum類別的子類別,並建構類別中的列舉物件。 • EnumName:自訂的類別名稱。 • ObjectName:自訂的列舉物件名稱,個數不限。這些物件一定是:public、final、static。 • 1-2 自訂建構方法 • 我們可以像開發類別一樣,在eunm中,宣告及定義資料成員、方法成員及建構方法。 • 1-3 預設的重要方法 • String name() • int ordinal() • static T valueOf(Class<T> enumType, String name) • static T valueOf(String name) • static enumType[] values() • 1-4 宣告為內部類別 • enum也可以宣告在類別之中,成為內部類別,但是不可以宣告在方法之中。 • 宣告為內部類別的enum,預設為static。

  3. 2、Garbage Collection • 2-1 物件收原基本原理 • Java提供了垃圾物件自動回收機制,讓設計師可以不必分心於物件的銷毀。 • 執行環境會依照程式執行的狀況,找到適當的時機,再把記錄於垃圾集合件中的物件代號所代表的所有物件,全部銷毀。 • 這種機制,或許浪費了一些效能,但卻可以省下設計師不少的困擾(時間)。 • 2-2 適合被回收的物件 • 適合被回收的物件只有一種:沒有參考變數儲存其物件代號的物件。 • 2-3 立刻執行物件的銷毀 • 呼叫類別System中的類別方法成員gc()。 • 建構RunTime物件,執行其實體方法成員gc()。

  4. 3、認證重點整理 • 3-1 Enum • Enum是一個抽象類別。但是,它不接受設計師撰寫類別來繼承它。 • enum是一個宣告列舉類別的關鍵詞,Java編譯器會以背景作業方式建立繼承Enum類別的子類別,並建構類別中的列舉物件。 • 我們可以像開發類別一樣,在eunm中,宣告及定義資料成員、方法成員及建構方法。 • enum中的類別常數成員宣告完畢後,必須上‘;’,才可以開始自訂其他的成員或方法。 • 若自訂有參數的建構方法,enum中的類別常數成員在宣告時,必須用小括號提供建構方法參數。 • enum中自訂建構方法的存取限制,若宣告為public將無法編譯。 • switch支援enum成員的判斷,判斷時便是自動呼叫該成員的ordinal()來取得整數值。 • enum也可以宣告在類別之中,成為內部類別,但是不可以宣告在方法之中。 • 宣告為內部類別的enum,預設為static。

  5. 3、認證重點整理(二) • 3-2 Garbage Collection • Java的執行環境,建構了一個垃圾集合物件(Garbage Colletion),任何程式中建構的物件,只要是適合被回收的物件,Java便會把該物件的物件代號,記錄於Garbage Collection物件之中。 • 執行環境會依照程式執行的狀況,找到適當的時機,再把記錄於垃圾集合件中的物件代號所代表的所有物件,全部銷毀。 • 適合被回收的物件只有一種:沒有參數變數儲存其物件代號的物件。 • 物件建構之後,沒有把物件代號指派給參考變數的物件。此類物件在其執行完該行敍述句後,便會被記錄於垃圾集合物件之中。 • 把B物件之物件代號,指派給原先儲存A物件代號的參考變數,而A物件已經沒有任何參考變數儲存它的物件代號時,A物件便會被記錄到垃圾集合物件之中。 • 指派null給原先儲存A物件代號的參考變數,而A物件已經沒有任何參考變數儲存它的物件代號時,A物件便會被記錄到垃圾集合物件之中。 • 一個被孤立的物件群組,會全部被回收。 • 呼叫類別System中的類別方法成員gc(),可以命令Java執行環境立刻執行物件銷毀的動作。 • 取得RunTime物件,執行其實體方法成員gc(),可以命令Java執行環境立刻執行物件銷毀的動作。

More Related