Java多态
多态定义:
相同类型的变量、调用同意方法时呈现出多种不同的行为特征,这就是多态。
Java引用变量有2个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量的类型决定,运行时类型由实际赋给该变量的类型决定。
如果编译时类型与运行时类型不一致,则就可能出现多态。
比如:
Child继承自Parent,则Parent p1=new Child();表示父类引用指向子类对象,编译时类型是Parent类型,运行时时Child类型。
p1.show();
//1、若父类中定义了show()方法,子类没有重写,则调用父类方法。
//2、若父类中定义了show()方法,子类重写该方法,则调用子类方法。
//3、若父类没有定义show()方法,子类定义了该方法,则调用出错!因为编译时无法调用show()方法。
为什么可以使用:Parent p1=new Child();
原因:因为子类其实是一种特殊的父类,因此java允许把一个子类对象直接赋给父类引用变量,无须任何类型转换,或者被称为向上转型,由系统自动完成。
本文来自博客园,作者:Javanumberone,转载请注明原文链接:https://www.cnblogs.com/stm32stm32/p/6180981.html
posted on 2016-12-14 21:35 Javanumberone 阅读(248) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步