java多态上转下_java的多态(向上转型、向下转型)
在我的理解:java的向上和向下转型可以看成是类型的转换。
public class Person {
public void eat(){
System.out.println("Person eatting...");
}
public void sleep() {
System.out.println("Person sleep...");
}
}
public class Superman extends Person{
public void eat() {
System.out.println("Superman eatting...");
}
public void fly() {
System.out.println("Superman fly...");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
测试向上转型的主方法:
public class Main {
public static void main(String[] args) {
Person person = new Superman();
person.sleep(); //调用的是父类person的方法
person.eat(); // 调用的是Superman里面的eat方法,Superman重写了Person父类的方法
//person.fly(); //报错了,丢失了Superman类的fly方法
}
}
1
2
3
4
5
6
7
8
运行的结果:
Superman sleep…
Superman eatting…
分析:当在执行Person person = new Superman()时,我们来看看它的内存存储:
这里写图片描述
从此图我们可以看出 向上转型会丢失子类的新增方法,同时会保留子类重新的方法。
测试向下转型的主方法:
public class Main {
public static void main(String[] args) {
Person person = new Superman();
Superman s = (Superman)person; //向下转型
s.sleep();
s.fly();
s.eat();
}
}
1
2
3
4
5
6
7
8
9
运行的结果:
Person sleep…
Superman fly…
Superman eatting…
分析:当在执行Superman s = (Superman)person;时,我们来看看他们的内存存储:
这里写图片描述
在这里我们看出 向下转型可以得到子类的所有方法(包含父类的方法)。
---------------------
作者:ldsh304
来源:CSDN
原文:https://blog.csdn.net/ldsh304/article/details/77622245
版权声明:本文为博主原创文章,转载请附上博文链接!
java多态上转下_java的多态(向上转型、向下转型)相关推荐
- java多态上转下_(转)java的多态(向上转型、向下转型)
在我的明白:java的向上和向下转型可以看成是类型的转换. ---------------- 版权声明:本文为CSDN博主「ldsh304」的原创文章,遵照CC 4.0 BY-SA版权协议,转载请附上 ...
- Java从入门到放弃09---多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别
Java从入门到放弃09-多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别 01 多态 多态指的是 ...
- Java多态中的 向上转型/向下转型
Java 向上转型和向下转型的详解 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法 ...
- Java 中的上转型和下转型
在我们的日常中,上转型和下转型都使用的比较少,所以当别人问起来什么是上转型,什么是下转型,自己往往一片模糊,或者不能将他们进行明显的区分. 在这里,我将以我个人理解来论述上下转型,希望对大家有帮助,如 ...
- java多态的概念_java中多态概念、实现原理详解
一.什么是多态? 1.多态的定义 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用) 2.多态的作用 消除类型之间的耦合关系 3.多 ...
- java的多态的作品_Java的多态
什么是多态? 面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的. 多态的定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同 ...
- java 对象的态_Java面向对象-------多态总结
1.多态:是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 多态性是对象多种表现形式的体现. 2.多态作用: 1. 消除类型之间的耦合关系 ...
- Java接口,多态,向上转型,向下转型的意义
接口 官方解释: Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现 ,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 包含 ...
- java:多态详解,以及对象的向上和向下转型
大家好,兔胆包天我又来啦,今天给大家分享的是多态,多态最主要的是父类引用指向子类对象,还是老办法,直接上代码,代码中注解的很详细哦. 这是第一个代码: //测试多态 public class Anim ...
最新文章
- HP服务器选型一般标准
- python3中的多线程
- WeApp-Workflow:基于Gulp 的“微信小程序”前端开发工作流
- 开发健壮的企业级应用的研究
- 机器学习-Random Forest算法简介
- .NET5全面拥抱Azure云,微软市值重回巅峰,那些年吹过的牛,都实现了!
- 哈啰单车涨价:起步价1元/15分钟 仅限北京地区
- fs.readfile 显示html,javascript – 从fs.readFile获取数据
- JS 正则(RegExp)
- 图的简单应用(C/C++实现)
- JavaScript 作用域
- java域名获取ip_JAVA获得域名IP地址的方法
- 销售管理系统java sql_java+sqlserver商品销售管理系统的设计与实现
- vue.js入门以及和echarts整合之柱状图和中国地图
- 竖屏java转横屏_Android屏幕旋转之横屏竖屏切换的实现
- C#毕业设计——基于C#+asp.net+sqlserver的交通信息网上查询系统设计与实现(毕业论文+程序源码)——交通信息网上查询系统
- 【考研数学】五. 二重积分
- 怎样更改软件默认安装路径由C盘到其他盘
- 单场GMV翻了100倍,冷门品牌崛起背后的“通用法则”是什么?
- 2019.03.30【NOIP提高组】模拟 B 组 排序、二分+spfa、树形DP+前缀和
热门文章
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 小程序切换账户拉取仓库文件的appid提示
- codeforces 112APetya and Strings(字符串水题)
- hibernate简单入门教程(四)---------关联映射
- springboot 常用插件
- JavaScript 基础(二)
- 怎样给Spark传递函数—怎样让你的Spark应用更高效更健壮
- 2005毕业生薪酬预测女超男
- 多款 D-Link 路由器受多个 RCE 漏洞影响
- EJB3.0高速入门项目开发步骤