Java Gossip: 建構方法(Constructor) - OpenHome.cc
文章推薦指數: 80 %
下面這個程式示範如何使用自訂的安全陣列類別:. 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
延伸文章資訊
- 1Java Constructors - W3Schools
A constructor in Java is a special method that is used to initialize objects. The constructor is ...
- 2Java Gossip: 建構方法(Constructor) - OpenHome.cc
下面這個程式示範如何使用自訂的安全陣列類別:. UseConstructor.java. public class UseConstructor { public static void mai...
- 3Java Constructors (With Examples) - Programiz
A constructor in Java is similar to a method that is invoked when an object of the class is creat...
- 4Providing Constructors for Your Classes (The Java™ Tutorials ...
As with methods, the Java platform differentiates constructors on the basis of the number of argu...
- 5初始化物件Constructor - Java備忘筆記 - GitBook