先贴代码:这个地方输出的结果是:a=1b=0----a=4b=0疑问就是:在使用this()调用了Par()的无参构造函数之后,使用了this.Print()进行输出,结果他还输出了b的值,疑惑有两个:1、这个地方b不是还没有被赋值吗?2、这个地方调用的Print()应该是父类的Print()啊,那么按理来说应该不会输出b的值啊,难道在子类中重写了之后调用的都是子类的Print()?刚学Java,求大神解惑
1 回答
米脂
TA贡献1836条经验 获得超3个赞
this实际上是Demo的类指向,可以在父类的构造函数println一下this看一下,对于父类的构造函数,就是上面父类的this(),在父类中调用时会认为是调用父类的构造方法,对于普通函数,会认为是子类this的函数。所以this()会给a新赋值,而this.print()会调用子类的print()
添加回答
举报
0/150
提交
取消