单项选择题

有如下定义:
 Person p; Teacher t; 
 Student s; 
其中,类Teacher和Student都是类Person的子类,p,t和s都是非空值。执行以下语句的结果是什么?()
if(t instanceof Person){s =(Student)t;}

A.将构造一个Student对象。
B.表达式合法。
C.编译时非法。
D.编译时合法而在运行时可能非法。