求解释。17. 1) public class SuperClass{ 2} class SubClassA extends SuperClass{} 3} class SubClassB extends SuperClass{} 4} public void test(SubClassA foo){ 5} SuperClass bar=foo; 6} } 7} } which statement is true about the assignment in line 5? A. The assignment in line 5 is illegal B. The assignment in line 5 is legal, but throw a ClassCastExceptionC. legal and will always executes without throw an Exception D.上面所说的都不对
网友回答
【答案】 C
没有运行错误。也不会抛异常。
foo;是SubClassA类型的。
bar是SuperClass类型的。
而SubClassA是SuperClass的子类,所以左父右子没有错
但要注意,如果左边是子类,右边是父类需要强制转换的。至少不会报语法错误