java 多态总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 多态总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2474字,纯文字阅读大概需要4分钟。
内容图文
![java 多态总结](/upload/InfoBanner/zyjiaocheng/831/b7957152e2b84bc4adc0fe2a1c83ee63.jpg)
Java 多态总结
1 定义
指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力。
比如说,有一杯水,我不知道它是温的、冰的还是烫的,但是我一摸我就知道了。我摸水杯这个动作,对于不同温度的水,就会得到不同的结果。这就是多态。
2 动态链接
当父类中的一个方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;
对于父类中 定义的方法,如果在子类中进行了重写,那么父类类型的引用将会调用子类中的方法这种就是动态链接
3 实现的必要条件
继承、重写、向上转型
继承:在多态中必须存在有继承关系的子类和父类。
重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
向上转型:父类的引用指向子类的对象
转型:
向上转型:为了限制子类特有功能的访问 Animal a = new Cat();
可以调用父类类型中的所有成员,不能调用子类类型中特有成员;最终运行效果看子类的具体实现!
向下转型:为了使用子类中的特有功能 Animal a = new Cat() Cat c = (Cat)a;强制转换;
1:只能强转父类的引用,不能强转父类的对象
2:要求父类的引用必须指向的是当前目标的对象
3:可以调用子类类型中的所有的成员。
4:属性没有重写
4 多态的好处
1 可替换性:多态对已经存在的代码具有可替代性。图形类可以对应圆类,对其他任何圆形几何体,如圆环,也同样工作。
2 可扩充性:多态对代码增加可扩充性。增加新的子类不影响已经存在类的多态性、继承性,以及其他特性的运行。
3 接口性:多态是超类通过方法签名,向子类提供一个公共的接口,由子类来完善或者覆盖她而实现。
4 维护性:有利于后期代码的维护。
5 多态的弊端
1 不能使用子类的特有功能
2 创建子类调用
6 多态编译运行总结
1 成员变量:编译看左边,运行看左边
2 构造方法:创建子类对象的时候,访问父类的构造方法,对父类的数据进行初始化。
3 成员方法:编译看左边,运行看右边(方法重写的意义)
4 静态方法:编译看左边,运行看右边。静态和类相关,算不上重写,所以还是访问的左边
7 总结
1 使用父类类型的引用指向子类的对象
2 该引用只能调用父类中定义的方法和变量
3 如果子类中重写了父类的一个方法,那么在调用这个方法的时候,就会调用子类的这个方法(动态链接,动态调用)
4 变量不能够被重写,重写的概念只针对于方法,如果在子类中重写了父类的变量,在编译时就会进行报错。
内容总结
以上是互联网集市为您收集整理的java 多态总结全部内容,希望文章能够帮你解决java 多态总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。