第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于如何在子類的構(gòu)造方法中顯示調(diào)用父類有參的構(gòu)造方法?

父類:
public?class?Animal?{
	public?int?age?=?20;
	public?String?name;
	public?void?eat(){
		System.out.println("動(dòng)物具有吃東西的能力");
	}
	/*public?Animal(){
		System.out.println("Animal類執(zhí)行了");
	}*/
	public?Animal(int?age){
		this.age?=?age;
		System.out.println(age);
	}

}


子類:
public?class?Dog?extends?Animal?{
	public?static?int?age?=?15;
	public?void?eat(){
		System.out.println("狗具有吃骨頭的能力");
	}
	public?Dog(){
		super(age);
		System.out.println("dog類執(zhí)行了");
	}
	public?void?method(){
		super.eat();
	}
}
我在定義時(shí)為什么要在子類的age屬性定義前加static?
既然是父類的age?為何我在調(diào)用method()時(shí)輸出的age是15而不是父類的20?


正在回答

2 回答

你子類構(gòu)造方法中調(diào)用的age是Static的age,就是子類的age,首先回答static的問(wèn)題,static是靜態(tài)的意思,即未創(chuàng)建實(shí)例對(duì)象就可以使用被static聲明的屬性,如果你不加static,在創(chuàng)建Dog類時(shí),1.首先進(jìn)行父類的默認(rèn)值初始化,就是age=20,2.然后調(diào)用父類構(gòu)造函數(shù),3.再進(jìn)行子類默認(rèn)值初始化,即age=15,4.再調(diào)用子類構(gòu)造函數(shù),在第二步時(shí),發(fā)現(xiàn)父類構(gòu)造方法需要傳一個(gè)值(super(age);)這時(shí)候編譯器找age,發(fā)現(xiàn)找不到age,因?yàn)檫@時(shí)候還沒(méi)有進(jìn)行到第三步啊,age沒(méi)有初始化為15,報(bào)錯(cuò),而將其聲明為static,即使不創(chuàng)建對(duì)象age都是15,這就不必解釋了,所以要加static

第二個(gè)問(wèn)題,就像之前所說(shuō)的一樣,加了static之后,進(jìn)行第二步時(shí),將age=15傳給父類,修改了父類中的age值,導(dǎo)致父類和子類的age都是15,所以無(wú)論怎么輸出都是15

0 回復(fù) 有任何疑惑可以回復(fù)我~

http://img1.sycdn.imooc.com//573fcb5d00017c9e12300414.jpg可以這樣

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉15555107797

你這個(gè)都沒(méi)有用到構(gòu)造方法,,,他想說(shuō)的是用構(gòu)造方法怎么樣能得到父類的age
2016-06-28 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于如何在子類的構(gòu)造方法中顯示調(diào)用父類有參的構(gòu)造方法?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)