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

时间:2023-03-09 06:23:43
Java面向对象作业-用接口方式测试向下转型

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

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

 package com.java1234.chap03.sec13;

 public class Test2 {

     public static void main(String[] args) {
People p1=new Student();
p1.say(); Student student=(Student) p1;
student.say(); Teacher teacher=(Teacher) p1;
teacher.say();
}
}

运行报错:

我是学生

我是学生

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)

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