其实是很懂楼主问的问题,父类不能调用父类的方法,是怎样调呢?
1.用父类new的对象,肯定可以调用
2.用子类new对象赋给父类,除在子类内部外,外面是无法直接调用的,因为父类中引用的是子类的对象,所以无法直接通过子类调用,但是在子类中是可以的
我先分析一下这段代码:
起初乍一看代码,肯定是认为输出的肯定是Fu,但是事实却不是如此
其实问题出在this上,《疯狂Java讲义》中说道:当this在构造器中,this代表正在初始化的java对象
所以父类构造器中this.fun(),调用的是子类中的fun()方法,输出fu zi
希望对楼主有用,错误之处,大家多多指正
|