大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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()語法只能出現在構造方法第一行,這個大家記住就行了。

全部教程
主站蜘蛛池模板: 国产在线拍 | 国产精品乱码一区二区三区 | 特黄级 | 久久这里只有精品66 | 四虎永久在线日韩精品观看 | 国产成人18黄网站麻豆 | 成人18免费网| 素人259luxu在线观看暴露 | 国产精品一区二区在线观看 | 四虎影视国产永久免费 | 亚洲一区二区福利视频 | 91热国内精品永久免费观看 | 日日插天天操 | 成人国产在线不卡视频 | 亚洲在线播放 | 欧美整片在线 | 国产欧美一区二区精品性色 | 亚洲一区中文字幕在线观看 | 久久久精品国产四虎影视 | 成人国产三级精品 | 日韩欧美成人免费中文字幕 | 狠狠成人 | 天天插夜夜操 | 99久久成人 | 色综合天天色综合 | 欧美中文字幕在线 | 婷婷六月色| 国产一二视频 | 日韩精品午夜视频一区二区三区 | 国产精品18久久久久久小说 | 国产成+人欧美+综合在线观看 | 四虎 影院ww9584h | 黄色毛片网站 | 欧美日韩有码 | 狠狠色丁香婷婷综合久久来 | 日韩国产欧美成人一区二区影院 | 欧美综合精品一区二区三区 | 欧美人与动人物a级网站 | 五月婷婷综合网 | 欧美成人午夜免费完成 | 日日摸天天摸狠狠摸摸 |