用構造器確保初始化

用構造器確保初始化

能夠假想爲編寫的每個類都定義一個initialize()方法。該方法的名稱提醒你在使用其對象以前,應先調用initialize()方法。然而這同時意味着用戶必須記得本身去調用此方法。在java中,經過提供構造器,類的設計者可確保每一個對象都會獲得初始化。建立對象時,若是其類具備構造器,java就會在用戶有能力操做對象以前自動給調用相應的構造器,從而保證了初始化的進行。java

如何命名這個方法。有兩個問題:第一,所取的任何名字均可能與類的成員名稱相沖突;第二,掉用構造器是編譯器的責任,因此必須讓編譯器知道應該調用哪一個方法。spa

如下是帶有構造器的簡單類:設計

 1 //Demostration of a simple constructor
 2 
 3 class Rock{
 4     Rock(){
 5           System.out.print("Rock");
 6     }
 7 }
 8 
 9 public class SimpleConstructor {
10     public static void main(String[] args) {
11         for (int i = 0; i < 10; i++) {
12             new Rock();
13         }
14     }
15 }/*Output:
16   Rock Rock Rock Rock Rock Rock Rock Rock Rock Rock 
17 */

 

如今,建立對象時:code

new Rock();對象

將會爲對象分配空間,並調用相應的構造器。這就確保了在你能操做對象以前,它已經被恰當的初始化了。blog

注意:構造器的名稱必須與類名徹底相同。編譯器

相關文章
相關標籤/搜索