Java中的構造方法(構造器)
####定義 一個在建立對象時自動被調用的特殊方法ide
做用
爲對象進行初始化(成員變量)工做,即初始化類對象的屬性,而構造對象是經過new關鍵字函數
特徵
構造器是一種特殊的方法測試
- 構造方法的名稱必須跟類名保持一致
- 構造方法雖然有返回值(返回一個已經初始化好的對象),可是不能定義返回類型,返回值的類型確定是本類類型,不能用關鍵字void,不能在構造器裏調用return
- 構造方法在建立類對象的時候經過關鍵字new被調用
- 當咱們沒有寫構造方法的時候,系統會默認給咱們添加一個無參構造方法。可是隻要咱們給出了一個構造方法,系統就不會給出默認的無參構造方法,因此在寫類的時候,通常建議本身手動加上無參構造方法。
- 和普通方法同樣,構造方法也能夠重載
咱們來看看測試代碼this
public class Constructor { // 給Constructor類定義了一個成員變量name private String name; // 無參構造方法,方法名必須跟類名一致,即首字母須要大寫 public Constructor() { System.out.println("調用無參數的構造方法。。"); } // 帶一個參數的構造方法 public Constructor(String name) { // 經過this()調用無參構造方法 this(); this.name = name; // 構造方法裏能夠調用普通方法 commonMethod(); } public void commonMethod() { System.out.println("調用普通方法"); } // 寫個主函數測試一下 public static void main(String[] args) { // 經過無參構造建立一個Constructor對象 Constructor cons1 = new Constructor(); cons1.name = "我是經過無參構造器建立的對象"; System.out.println(cons1); System.out.println("=====================我是分隔線====================="); // 經過有參構造方法建立另外一個對象 Constructor cons2 = new Constructor("我是經過有參構造方法建立的對象"); System.out.println(cons2); } @Override public String toString() { return this.getClass().getSimpleName() + "[個人名字是:" + name + "]"; } }
咱們來看看輸出結果
spa