[Java篇] java重载不是多态


多态意味着“<b>多种形态</b>”。在面向对象的编程当中,你有相同的’脸’(基类里一种通用的接口),以及使用该接口的不同的形式:即各种不同的动态绑定方法的版本。

如果没有理解数据抽象(封装)和继承,是不可能理解或者创建一个多态的例子,多态是一个不能被孤立看待的特征(但是像switch就可以),相反,在类的大的环境里面,多态作为一种很广泛的应用,人们经常被Java中其它非面向对象的特征所困扰,比如方法重载有时会被当作一个面向对象的特征,别被骗了,如果不是晚绑定,它就不是多态。

要想在程序中高效的使用多态及面向对象的技术,你必须将你的编程的视角不能仅限定在某一个类的成员和信息,还应该考虑到类与其他类之间通用的关系 ,虽然这个技术需要花费不少时间 ,但它是值得努力的,因为他可以更快的开发应用程序,能带来更好的代码组织,程序的可扩展性,以及更好的代码可维护性。

总之:方法重写是可以决定多态的,方法重载是决定不了多态的
所以在Java中,“<b>多态体现在方法重载与方法重写</b>”,这句话还正确么?

<b>ps:早绑定:出现在编译期;晚绑定:出现在运行期.</b>

来自:《Java In Thinking 3》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容