一个很简单的语法错误,但我就是想不通
大家一定对一道面试题很熟悉:
Consider the class hierarchy shown below:
FourWheeler
(implements DrivingUtilities)
/ / \ \
/ / \ \
/ / \ \
/ / \ \
/ / \ \
Car Truck Bus Crane
Consider the following code below:
1.DrivingUtilities du;
2.FourWheeler fw;
3.Truck myTruck = new Truck();
4.du = (DrivingUtilities)myTruck;
5.fw = new Crane();
6.fw = du;
接着问了几个问题,我不是问答案,
而是我把相应的类都创建了,然后造了个Test类,
把这段代码写进去,结果报了个语法错误,在第3行,删掉第3行就报第2行
劳烦大家看看
------解决方案--------------------这是什么?我为什么看不懂~~
------解决方案--------------------fw = (FourWheeler)du;
这样就可以了~
DrivingUtilities du;这是一个接口~
fw = du;的时候需要具体化~
因此,强转一下就可以了~
fw = (FourWheeler)du;