黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java教程
Java標識符與關鍵字
Java變量
Java數據類型
Java運算符
Java控制語句
Java方法
Java面向對象
Java對象的創建和使用
Java封裝
Java中static和this
Java繼承
Java方法覆蓋和多態
Java super
Java基礎練習題

Java this關鍵字的使用(在構造方法中)

this還有另外一種用法,使用在構造方法第一行(只能出現在第一行,這是規定,記住就行),通過當前構造方法調用本類當中其它的構造方法,其目的是為了代碼復用。調用時的語法格式是:this(實際參數列表),請看以下代碼:

public class Date {
	private int year;
	private int month;
	private int day;
	//業務要求,默認創建的日期為1970年1月1日
	public Date(){
		this.year = 1970;
		this.month = 1;
		this.day = 1;
	}
	public Date(int year,int month,int day){
		this.year = year;
		this.month = month;
		this.day = day;
	}
	public int getYear() {
		return year;
	}
	public void setYear(int year) {
		this.year = year;
	}
	public int getMonth() {
		return month;
	}
	public void setMonth(int month) {
		this.month = month;
	}
	public int getDay() {
		return day;
	}
	public void setDay(int day) {
		this.day = day;
	}
}
public class DateTest {
	public static void main(String[] args) {
		Date d1 = new Date();
		System.out.println(d1.getYear() + "年" + d1.getMonth() + "月" + d1.getDay() + "日");
		Date d2 = new Date(2008 , 8, 8);
		System.out.println(d2.getYear() + "年" + d2.getMonth() + "月" + d2.getDay() + "日");
	}
}

運行結果如下圖所示:

Java入門教程

圖11-12:運行結果

我們來看看以上程序的無參數構造方法和有參數構造方法:

Java入門教程

圖11-13:無參數構造和有參數構造對比

通過上圖可以看到無參數構造方法中的代碼和有參數構造方法中的代碼是一樣的,按照以上方式編寫,代碼沒有得到重復使用,這個時候就可以在無參數構造方法中使用“this(實際參數列表);”來調用有參數的構造方法,這樣就可以讓代碼得到復用了,請看:

public class Date {
	private int year;
	private int month;
	private int day;
	//業務要求,默認創建的日期為1970年1月1日
	public Date(){
		this(1970 , 1, 1);
	}
	public Date(int year,int month,int day){
		this.year = year;
		this.month = month;
		this.day = day;
	}
	public int getYear() {
		return year;
	}
	public void setYear(int year) {
		this.year = year;
	}
	public int getMonth() {
		return month;
	}
	public void setMonth(int month) {
		this.month = month;
	}
	public int getDay() {
		return day;
	}
	public void setDay(int day) {
		this.day = day;
	}
}

還是使用以上的main方法進行測試,運行結果如下:

Java入門教程

圖11-14:運行結果

在this()上一行嘗試添加代碼,請看代碼以及編譯結果:

public class Date {
	private int year;
	private int month;
	private int day;
	//業務要求,默認創建的日期為1970年1月1日
	public Date(){
		System.out.println("...");
		this(1970 , 1, 1);
	}
	public Date(int year,int month,int day){
		this.year = year;
		this.month = month;
		this.day = day;
	}
	public int getYear() {
		return year;
	}
	public void setYear(int year) {
		this.year = year;
	}
	public int getMonth() {
		return month;
	}
	public void setMonth(int month) {
		this.month = month;
	}
	public int getDay() {
		return day;
	}
	public void setDay(int day) {
		this.day = day;
	}
}

Java入門教程

圖11-15:編譯報錯信息

通過以上測試得出:this()語法只能出現在構造方法第一行,這個大家記住就行了。

全部教程
主站蜘蛛池模板: 欧美久久综合九色综合 | 国产成人啪午夜精品网站 | 亚洲va国产va欧美va综合 | 综合国产在线 | 欧美怡红院免费的全部视频 | jizz日| 免费在线视频日本 | 久久99精品这里精品动漫6 | 国产综合激情在线亚洲第一页 | 最近的中文字幕2019更新 | 亚洲三级天堂 | 亚洲欧洲日韩 | 日韩在线免费视频观看 | 久艹伊人| 久久国产精品成人免费 | 欧美精品亚洲精品日韩 | 在线免费观看色片 | 国产一级淫 | 国产亚洲人成在线影院 | 欧美精品导航 | 欧美曰批人成在线观看 | 在线亚洲欧洲国产综合444 | 日韩一区二区中文字幕 | aaa一级| 日韩欧美中文字幕出 | 免费簧片在线观看 | 国产欧美在线视频免费 | 视频一区二区三区在线观看 | 亚洲国产男人本色在线观看的a站 | 精品视频一区二区三区 | 亚洲国产日韩综合久久精品 | 91精品啪在线观看国产线免费 | 涩婷婷| 成年人网站免费在线观看 | 日韩在线第一区 | 国产h在线观看 | 国产精品xxx | 在线观看a网站 | 国产成人精品视频免费 | 国产成人综合久久亚洲精品 | 中文字幕视频二区 |