Java多态
来源:互联网 发布:windows打开tar文件 编辑:程序博客网 时间:2024/05/29 13:16
多态的实现机制是:重载和重写。
(1)重载:同一个类中有多个参数不同的同名方法,在编译时就已经确定该用哪个方法了,即编译时多态。
(2)重写:子类重写父类的方法,在某些情况下表现运行时多态。(就是以下说的情况)
(3)关于继承:子类只能继承父类中的public 、protected成员和方法。
1、多态:相同类型的变量调用同一个方法时表现出不同的行为特征,即编译时期和运行时期的情况不一样。
2、多态实现:继承父类并重写其中的一些方法。
3、Person类name, eat(),drink()成员和方法,子类Man中有name,并重写eat talk方法;
对于 Person m=new Man()
(1)成员变量不具有多态性,m.name实际上是person中的name
(2)重写的方法表现多态,m.eat执行的是man中的方法
(3)调用父类中不存在的方法,编译期发生异常,m.talk编译不通过。因为引用变量在编译时只能调用其编译类型所具备的方法,在编译期m还是Person类型,这里Person不具备talk方法。
(4)下面例子非常重要:
4.向上转型:子类->父类 总是成功;向下转型:父类->子类,可以先通过instanceof来判断
5.重写某些对象的equals方法时一般调用getClass()方法而不是instanceof关键字,因为getClass判断是否为同一个类,instanceof相同类或前者是后者子类
6.封装、继承、多态是面向对象的三个基本特征。
阅读全文
1 0
- Java学习 java -- 多态
- java多态
- java多态
- java多态
- java多态
- Java多态
- java多态
- JAVA@多态
- Java多态
- java 多态
- Java多态
- java多态
- [Java] 多态
- JAVA多态
- Java多态
- java多态
- java 多态
- java多态
- 使用easyBCD在Win10下安装Ubuntu16.04LS双系统详细教程
- 耐高压达林顿输出光耦(TLP127,TLP187,TLP627)功能介绍及应用实例
- hystrix适用场景
- ActiveX组件CADViewX v12发布,支持最新的AutoCAD®DWG 2018版本
- 检查jar包中是否包含某个类和查看hbase环境变量
- Java多态
- WatchKit(二):WKInterfaceController生命周期、控制器、控件布局
- springMVC接收json串问题
- 设计模式之抽象工厂模式
- Android -- 基础篇 -- view 动画(上)
- 记大学的成长之初
- 大数取余 很简单
- 设计模式之单一职责原则
- 矢量图像处理控件CAD EditorX 发布v12,支持导出到G-code