三九宝宝网宝宝百科宝宝知识

java的多态怎么实现

12月21日 编辑 39baobao.com

[高考最后复习冲刺阶段,如何实现数学的逆袭]作者 纸盆1、基础知识不牢固数学有80%的题目是考察我们基础孩子是的,其实只要我们基础知识扎实,那么我们数学能轻松考100+,而数学经常考不好,基本是基础不扎实导致的,所以要...+阅读

这几天我在重新复习Java语言基础,虽然和团队一起,自己个人都进行了实际项目的开发,但越往上面走越觉得自己应该花点时间看看Java的基础知识,巩固一下基础。今天复习的是多态,同时写下自己的学习心得。 数据抽象、继承和多态是面向对象程序设计语言的三大特性。多态,我觉得它的作用就是用来将接口和实现分离开,改善代码的组织结构,增强代码的可读性。在某些很简单的情况下,或许我们不使用多态也能开发出满足我们需要的程序,但大多数情况,如果没有多态,就会觉得代码极其难以维护。 在Java中,谈论多态就是在讨论方法调用的绑定,绑定就是将一个方法调用同一个方法主体关联起来。在C语言中,方法(在C中称为函数)的绑定是由编译器来实现的,在英文中称为early binding(前期绑定),因此,大家自然就会想到相对应的late binding(后期绑定),这在Java中通常叫做run-time binding(运行时绑定),我个人觉得这样称呼更贴切,运行时绑定的目的就是在代码运行的时候能够判断对象的类型。通过一个简单的例子说明: /** * 定义一个基类 */ public Class Parents { public void print() { System.out.println(“parents”); } } /** * 定义两个派生类 */ public Class Father extends Parents { public void print() { System.out.println(“father”); } } public Class Mother extends Parents { public void print() { System.out.println(“mother”); } } /** * 测试输出结果的类 */ public Class Test { public void find(Parents p) { p.print(); } public static void main(String[] args) { Test t = new Test(); Father f = new Father(); Mother m = new Mother(); t.find(f); t.find(m); } } 最后的输出结果分别是father和mother,将派生类的引用传给基类的引用,然后调用重写方法,基类的引用之所以能够找到应该调用那个派生类的方法,就是因为程序在运行时进行了绑定。 学过Java基础的人都能很容易理解上面的代码和多态的原理,但是仍有一些关键的地方需要注意的,算是自己对多态的一个小结: 1. Java中除了static和final方法外,其他所有的方法都是运行时绑定的。在我另外一篇文章中说到private方法都被隐式指定为final的,因此final的方法不会在运行时绑定。当在派生类中重写基类中static、final、或private方法时,实质上是创建了一个新的方法。 2.在派生类中,对于基类中的private方法,最好采用不同的名字。 3.包含抽象方法的类叫做抽象类。注意定义里面包含这样的意思,只要类中包含一个抽象方法,该类就是抽象类。抽象类在派生中就是作为基类的角色,为不同的子类提供通用的接口。 4.对象清理的顺序和创建的顺序相反,当然前提是自己想手动清理对象,因为大家都知道Java垃圾回收器。 5.在基类的构造方法中小心调用基类中被重写的方法,这里涉及到对象初始化顺序。 6.构造方法是被隐式声明为static方法。 7.用继承表达行为间的差异,用字段表达状态上的变化。

以下为关联文档:

如何实现大学的目标和计划准大学生们就带着大学录取通知书的船票,乘坐大学的远洋船,航行在知识的海洋里了。可是,那么多的学生,又有多少能顺利到达理想之岸呢?上大学之前,各位学子做好准备了吗?如何实现...

如何快速实现雅思听力如何快速实现雅思听力招数一 走出过去的误区大部分考过雅思听力的考生都会有过这样的观念:听力文章都听懂才能答好题的。不说所有内容都听懂,但至少证80%或者再少点70%能听...

不怕挫折和失败,我的理想就会实现理想,对于小时候的我来说,是个很空泛的话题。我一会想当这个,一会想当那个,总也确定不下来。但是,我大一点的时候,跟着父母去看了一次画展,我被那些画深深的吸引住了,它们真是太精...

要想成为好父母,必须努力实现六个转变做为家长,多年来我一直在寻求教育孩子的灵丹妙药,也在摸索中逐步形成了自己的一些教育方法。但读完《给孩子最好的家庭教育》这本书,我深感震撼:自己的很多方法都是欠妥甚至是错...

浅议如何实现幼儿园绘本教学中教师的有效提问新西兰儿童文学研究学者罗西·怀特说:“绘本是孩子在人生道路上最初见到的书,是在漫长的读书生涯中读到的所有的书中最最重要的书。一个孩子从绘本中体会到多少快乐,将决定他一...

电子商务是如何实现税收的电子商务实现税收的方式: (一)积极参与制定有关电子商务的法律、法规、制度以及相应的实施细则,与相关部门合作,实施多方监控。 现行的税收法律法规对新兴的网络贸易的约束已显得...

长期股权投资非同一控制下分次实现企业合并问题你好, 很高兴为你回答问题! 解析: 这是分次取得股权最终达到控制的非同一控制下的企业合并,其长期股权投资的初始投资成本就是,购买日之前所持有股权的账面价值与购买日新增投资...

java中实现多态的机制是什么多态很简单,意思就是一个接口,多种方法;多态又分为静态和动态,方法重载属于静态,方法覆盖和继承属于动态,说不清楚,给段代码给你做参考,能不能看懂就看你自己的了,这种事别人帮不了你...

java中实现多态的机制.....看的好复杂。。。 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性...

推荐阅读
图文推荐