多态中的向上转型和向下转型问题
来源:互联网 发布:渠道 知乎 编辑:程序博客网 时间:2024/06/05 07:56
多态中转型问题往往不容易理解,特别是向上和向下转型。
上代码:
public class Job {public static void main(String[] args) {System.out.println("我的工作是:");}public void say() {System.out.println("工作");}}先建一个job类,Job类的方法是say
再添加两个类,Teacher和Student,都继承Job
public class Teacher extends Job{public static void main(String[] args) {System.out.println("老师");}}public class Student extends Job{ public void say() { System.out.println("学生"); } }
最后再写个Test类来实例化调用下面我们来测试下多态,父类指向子类具体实现
public class Test { public static void main(String[] args) {/*父类指向Student类的具体实现 * 由子类Student指向父类Job,向上转型 * */ Job job = new Student();job.say();/*向下转型 * 由Student转向job,按照提示添加在job前添加(Student) * */Student student = (Student) job;student.say();/*向下转型,因为job指向的是Student具体实现,所以会报错*/Teacher teacher = (Teacher) job;teacher.say();}}输出结果:
从Test类我们可以理解到多态中转型的含义(具体的看Test类中注释)
向上转型:子类对象->父类对象 安全
向下转型:父类对象->子类对象 不安全
阅读全文
1 0
- 多态中的向上转型和向下转型问题
- 多态中的向上转型,向下转型
- java多态中的向上转型和向下转型
- java 多态中的向上转型和向下转型
- java中的向上转型和向下转型
- Java中的向上转型和向下转型
- java中的向上转型和向下转型
- java中的向下转型和向上转型
- java中的向上转型和向下转型
- Java中的向上转型和向下转型
- Java中的向上转型和向下转型
- Java中的向上转型和向下转型
- java中的向上转型和向下转型
- 继承中的向上转型和向下转型
- Java中的向上转型和向下转型
- Java 中的向上转型和向下转型
- 向上转型和向下转型的问题
- java多态向上、向下转型问题
- 使用opencv进行人脸识别
- 第一节:Python的基础—基本的数据类型
- 智能指针(四)之shared_ptr
- 页面的根元素lang和manifest
- tomcat部署项目,仅启动一次
- 多态中的向上转型和向下转型问题
- 3.C位数差 离散化+树状数组
- go——奇怪的iota
- JavaShowAlgorithm-Add Two Numbers 链表数相加
- 实验七参考命令
- linux安装mysql
- C++ Tea
- 1025. 反转链表 (25)
- JPA 笔记