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

全部教程
主站蜘蛛池模板: 欧美成人精品第一区二区三区 | 好吊妞操| 伊人久热这里只精品视频 | 88精品视频 | 久久七国产精品 | 狠狠色噜噜狠狠狠97影音先锋 | 国产成社区在线视频观看 | 日韩中文在线观看 | 五月天综合久久 | 四虎影视黄色 | 亚洲永久精品一区二区三区 | 国产精品国产精品 | 毛茸茸bbw亚洲人 | 久久爱www. | 九九九色视频在线观看免费 | 久久精品青草社区 | 国产亚洲高清在线精品99 | 四虎永久在线视频 | 精品乱人伦一区二区三区 | 一区二区三区高清在线 | 五月婷婷免费视频 | 污宅男666在线永久免费观看 | 中文字幕区 | 久久金8天国 | 亚洲综合一区二区三区四区 | 亚洲视频在线免费观看 | 久久久久免费精品国产小说 | 久久99国产精品久久欧美 | 男人懂的网站 | 成人毛片大全 | 国产日韩欧美在线 | 欧美19p| 在线看亚洲 | 国产专区日韩精品欧美色 | www.天天干| 欧美顶级毛片在线播放 | 亚洲一区二区精品推荐 | 中文字幕视频在线播放 | 深夜福利网站在线 | 91视频免费观看网站 | 日日摸天天添天天添破 |