在上一篇文章中,我们发现类继承过程中,如果父类定义的方法如果子类没有重写或者重载的话,子类由于继承关系虽然能访问这个方法,但是执行的操作是在Base类之上的,这和我们的预期不同.在Child类中通过覆盖父类方法,并添加相关处理逻辑可以解决这个问题,但仔细思考了一下之后,感觉还是有点疑惑.
为什么Child类的实例里执行没有覆盖直接继承的方法,比如clear(见下方研究代码部分),这个方法对child的成员变量并没有效果,而是对其父类操作,这和我之前理解的动态绑定的过程不一致.
用进废退,放码过来
在上一篇文章中,我们发现类继承过程中,如果父类定义的方法如果子类没有重写或者重载的话,子类由于继承关系虽然能访问这个方法,但是执行的操作是在Base类之上的,这和我们的预期不同.在Child类中通过覆盖父类方法,并添加相关处理逻辑可以解决这个问题,但仔细思考了一下之后,感觉还是有点疑惑.
为什么Child类的实例里执行没有覆盖直接继承的方法,比如clear(见下方研究代码部分),这个方法对child的成员变量并没有效果,而是对其父类操作,这和我之前理解的动态绑定的过程不一致.
Java多线程之前自己写爬虫的时候用过一阵子,但也只是用了点皮毛,原理部分也没有弄得太清楚,最近看书发现这部分还是有很多困惑,对多线程的理解也很模糊了.这里讲讲sleep,wait,yield,join的区别.