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)
类型转换异常 向下转型是不安全的,必须知道具体实现类;
上一篇:Java面向对象-对象的多态性
下一篇:Java面向对象-Object类