Java中的構造方法


Java中的構造方法(構造器)

定義

一個在創建對象時自動被調用的特殊方法

作用

為對象進行初始化(成員變量)工作,即初始化類對象的屬性,而構造對象是通過new關鍵字

特征

構造器是一種特殊的方法

  1. 構造方法的名稱必須跟類名保持一致
  2. 構造方法雖然有返回值(返回一個已經初始化好的對象),但是不能定義返回類型,返回值的類型肯定是本類類型,不能用關鍵字void,不能在構造器里調用return
  3. 構造方法在創建類對象的時候通過關鍵字new被調用
  4. 當我們沒有寫構造方法的時候,系統會默認給我們添加一個無參構造方法。但是只要我們給出了一個構造方法,系統就不會給出默認的無參構造方法,所以在寫類的時候,一般建議自己手動加上無參構造方法。
  5. 和普通方法一樣,構造方法也可以重載

我們來看看測試代碼

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 + "]";
	}

}	

我們來看看輸出結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM