问题 填空题

下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)

答案

参考答案:②⑤

解析: 根据题中代码可知,tr引用一个Triangle对象,sq引用一个Square对象,sh和tr引用同一个Triangle对象。所以问题1中①⑤正确,由于sh和tr引用同一个对象,其引用的内存空间也必然相同,②③④错误。对于问题2中的消息,tr引用Triangle对象,所以tr.height( )调用Triangle类的height方法;sq引用Square对象,但Square没有height方法,所以sq.height( )没有对应任何方法调用,但Square类有perimeter方法,所以sq.perimeter( )调用Square类的perimeter方法,其他几项同上。问题3中,赋值运算的左边应该是右边的父类或同一类型才可以正确赋值。所以正确的是②⑤。

选择题
问答题 简答题