码迷,mamicode.com
首页 > 编程语言 > 详细

转行小白成长路-java篇

时间:2020-02-26 22:44:17      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:检查   二层   nal   rtti   ati   不同   基类   stat   根据   

第8章:多态

  多态,同种类型的不同的存在状态。在此之前我一直有个困惑,多个类实现同一个接口,如何按不同场景应用不同的实现类。现在想来要想实现这种想法是不现实的,正确的思路应该是一个接口被多个接口继承(为了不同场景),然后在分别实现,调用接口的时候,就调用二层的接口,实现了唯一实现类与一个接口绑定。多态主要用在继承,为了扩展导出类,主要方向在于扩展类型,覆盖掉基类的方法,修改成专门针对导出类型的方法。

  对于参数的多态性,具体的实现思路应该是运行时将某一类的对象传进去,这就是后期绑定,然后根据是否继承自基类(或者object)判断同种类型。值得注意的是static和final是前期绑定,就是编译时期就知道相应的地址,这是因为这两种修饰的对象的生命周期是同类一样长,他们具有唯一性,与动态绑定就没有什么关系了。涉及到这种引用的调整,肯定都是非常谨慎的,所以不管是上转型还是下转型都要进行检查(RTTI)。具体执行的顺序就要jvm阶段具体分析。

  继承与接口类似,都是最好使用is-a的形式设计,这样可以最大的限度减低问题的发生,如果使用is-like-a就要涉及到上转型,新添加的方法没什么用,只能修改方法里面的内容,只能先上转型才能下转型。

转行小白成长路-java篇

标签:检查   二层   nal   rtti   ati   不同   基类   stat   根据   

原文地址:https://www.cnblogs.com/aiwin/p/12369414.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!