Java Gossip: 建構方法(Constructor) - OpenHome.cc

文章推薦指數: 80 %
投票人數:10人

下面這個程式示範如何使用自訂的安全陣列類別:. UseConstructor.java. public class UseConstructor { public static void main(String[] args) { // 預設10個 ... From Gossip@Openhome JavaGossip:建構方法(Constructor) 在定義類別時,您可以使用「建構方法」(Constructor)來進行物件的初始化,而在Java中並沒有 「解構方法」(Destructor),而是利用finalize()函式來達到解構方法的作用,這則在垃圾回收討論。

在Java中建構方法是與類別名稱相同的方法成員,且沒有傳回值,例如: publicclassSafeArray{    //..      publicSafeArray(){ //建構方法        //....    }      publicSafeArray(參數){ //        //....    } } 在建構方法中,您可以定義無參數的建構方法,或具有參數的建構方法,程式在運行時,會根據配置物件時所指定的引數資料型態等來決定,該使用哪一個建構方法。

下面這個程式中,您實作「安全的陣列」,使用我們所定義的陣列類別可以動態配置陣列長度,並可事先檢查存取陣列的索引是否超出陣列長度,在這個陣列類別中,您實作了幾個簡單的功能,像是傳回陣列長度、設定陣列元素值、取得陣列元素值等等,我們的類別定義如下: SafeArray.java publicclassSafeArray{privateint[]arr;publicSafeArray(){this(10);}publicSafeArray(intlength){arr=newint[length];}publicint[]getArray(){returnarr;}publicintgetElement(inti){if(i>=arr.length||i<0){System.err.println("索引錯誤");return0;}returnarr[i];}publicintgetLength(){returnarr.length;}publicvoidsetElement(inti,intdata){if(i>=arr.length||i<0){System.err.println("索引錯誤");return;}arr[i]=data;}} 建構方法中,如果不指定引數的話,就會預設配置10個元素的陣列,您也可以由指定的長度來配置陣列;您在無引數的建構方法中直接使用this()來呼叫另一個有參數的建構方法,這是一種經常的作法,可以避免撰寫一些重覆的原始碼。

下面這個程式示範如何使用自訂的安全陣列類別: UseConstructor.java publicclassUseConstructor{publicstaticvoidmain(String[]args){//預設10個元素SafeArrayarr1=newSafeArray();//指定配置20個元素SafeArrayarr2=newSafeArray(20);for(inti=0;i



請為這篇文章評分?