我试图从类型为interface
的对象中调用方法。
private Car Ferrari;
Ferrari.startEngine();
Car
是interface
类,具有称为startEngine()
的方法。我也有一个实现
Car
的类,我们称它为CarImplementation
。因此,当我调用Ferrari.startEngine()
时,我假设将调用CarImplementation中的startEngine()
。但是,在Eclipse中,在
startEngine()
下出现一条红线。我收到一条错误消息说对于类型Car,未定义方法startEngine()
当我在接口和实现该接口的类中都具有
startEngine()
时,如何定义未定义?我还注意到,在Ferrari之后键入点后,我的
startEngine()
方法未显示在Eclipse的内容帮助中。有什么建议?
最佳答案
Ferrari
不是Car
,而是null
,直到将其分配给实际对象为止。
Car ferrari = new CarImplementation();
ferrari.startEngine(); // works
(此外,根据Sun Java标准,我将您的对象重命名为
ferrari
,没有上限)