类Teacher和Student是类Person的子类

问题描述:

类Teacher和Student是类Person的子类
Person p;
Teacher t;
Student s;
//p,t and s are all non-null.
if(t instanceof Person) { s = (Student)t; }
最后一句语句的结果是:
A、 将构造一个Student对象;
B、 表达式是合法的;
C、表达式是错误的;
D、编译时正确,但运行时错误.

应该是C,if判断没有问题,肯定是true,只是类型强制转换不能向这样转,只能在一个继承层次上向下强制转型.