先貼代碼:這個(gè)地方輸出的結(jié)果是:a=1b=0----a=4b=0疑問(wèn)就是:在使用this()調(diào)用了Par()的無(wú)參構(gòu)造函數(shù)之后,使用了this.Print()進(jìn)行輸出,結(jié)果他還輸出了b的值,疑惑有兩個(gè):1、這個(gè)地方b不是還沒(méi)有被賦值嗎?2、這個(gè)地方調(diào)用的Print()應(yīng)該是父類的Print()啊,那么按理來(lái)說(shuō)應(yīng)該不會(huì)輸出b的值啊,難道在子類中重寫了之后調(diào)用的都是子類的Print()?剛學(xué)Java,求大神解惑
1 回答

米脂
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
this實(shí)際上是Demo的類指向,可以在父類的構(gòu)造函數(shù)println一下this看一下,對(duì)于父類的構(gòu)造函數(shù),就是上面父類的this(),在父類中調(diào)用時(shí)會(huì)認(rèn)為是調(diào)用父類的構(gòu)造方法,對(duì)于普通函數(shù),會(huì)認(rèn)為是子類this的函數(shù)。所以this()會(huì)給a新賦值,而this.print()會(huì)調(diào)用子類的print()
添加回答
舉報(bào)
0/150
提交
取消