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类