unk*_*own 4 java inheritance casting interface
在以下代码中
abstract class Vehicle { }
class Car extends Vehicle implements LandMover { }
interface LandMover { }
Car porsche=new Car();
LandMover lmv;
lmv = porsche;
Vehicle vec = (Vehicle)lmv;
Run Code Online (Sandbox Code Playgroud)
因为类车和接口LandMover之间没有关系,所以第4行不应该有编译错误吗?如果没有什么可能是原因.谢谢!!
编译器只检查是否存在可能的关系,并且只有一个:
A LandMover可以是a Car,而IS-A又是a Vehicle.由于您通过使用显式强制转换来保证此转换正常,因此编译器很高兴.
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |