Java面向对象作业-用接口方式测试向下转型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象作业-用接口方式测试向下转型相关的知识,希望对你有一定的参考价值。

Java面向对象作业-用接口方式测试向下转型

 

根据视频的里实例 我们直接修改Test2测试方法:

 1 package com.java1234.chap03.sec13;
 2  
 3 public class Test2 {
 4  
 5     public static void main(String[] args) {
 6         People p1=new Student();
 7         p1.say();
 8          
 9         Student student=(Student) p1;
10         student.say();
11          
12         Teacher teacher=(Teacher) p1;
13         teacher.say();
14     }
15 }

运行报错:

我是学生

我是学生

Exception in thread "main" java.lang.ClassCastException: com.java1234.chap03.sec13.Student cannot be cast to com.java1234.chap03.sec13.Teacher

at com.java1234.chap03.sec13.Test2.main(Test2.java:12)

 

类型转换异常 向下转型是不安全的,必须知道具体实现类;

以上是关于Java面向对象作业-用接口方式测试向下转型的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象之多态(向上向下转型) 入门实例

java向上转型和向下转型

Java中的向上转型和向下转型

《Java技术》第三次作业--面向对象——继承抽象类接口

Java挠头继承抽象接口多态向上转型向下转型等精妙干货

向上转型和向下转型的用处(面向对象应用1)