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

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