Java簡明教程系列(4) - 構造器

構造器會在對象創建的時候對其進行初始化。構造器的名字和類名相同,在句法上和方法非常相似,然而,構造器沒有指明返回的類型。

通常,我們在構造器裏對類裏的定義的實例變量進行賦初始值,或者執行創建對象時需要執行的任何初始化過程。

不管你定義一個構造器或者不定義,所有的類都有構造器。這是因爲如果不定義構造器的話,Java會自動創建一個構造器使所有的實例變量初始化爲0。然而,一旦你手動定義了一個構造器,默認的構造器就不會被調用。

 

語法

下面代碼是定義一個構造器的基本語法結構:

class ClassName {
   ClassName() {
   }
}

Java允許定義兩種構造器,分別是:

  • 無參構造器
  • 帶參構造器

 

無參構造器

正如名字所體現的那樣,Java中的無參構造器不接受傳入參數,這樣一來,所有創建的對象的實例變量都會被初始化爲固定的值。

例子

 

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

通過下面的代碼可以調用構造器來初始化對象:

 

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

上面的代碼的輸出結果爲:

100 100

帶參構造器

大多數情況下,我們需要在對象初始化時賦上我們想要設置的值,這就需要有一個接收參數的構造器來使對象進行初始化。和方法中傳入參數的寫法一樣,我們只要在構造器名字後面的括號里加上參數聲明。

舉個例子

下面是一個簡單的帶參構造器:

 

//一個簡單的構造器例子
class MyClass {
   int x;
   
   //定義帶參構造器
   MyClass(int i ) {
      x = i;
   }
}

這樣調用構造器來初始化對象:

 

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

上面代碼的輸出爲:

 

10 20

本篇小結

更多交流,歡迎加羣(584017112):

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章