日期:2014-05-20  浏览次数:20797 次

一个很简单的语法错误,但我就是想不通
大家一定对一道面试题很熟悉:
  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;