我正在尝试从类型为接口(interface)
的对象调用方法。
private Car Ferrari;
Ferrari.startEngine();
Car
是一个接口(interface)
类,其方法称为startEngine()
。
我还有一个实现 Car
的类,我们将其称为 CarImplementation
。因此,当我调用 Ferrari.startEngine()
时,我假设将调用 CarImplementation 中的 startEngine()
。
但是,在 Eclipse 中,我在 startEngine()
下看到一条红线。我收到一条错误消息,内容为
The method startEngine() is undefined for the type Car
当我的接口(interface)和实现该接口(interface)的类中都有 startEngine()
时,它是如何未定义的?
我还注意到,在输入 Ferrari 后面的点后,我的 startEngine()
方法未显示在 Eclipse 的内容辅助中。
有什么建议吗?
最佳答案
Ferrari
不是 Car
,在将其分配给实际对象之前它是 null
。
Car ferrari = new CarImplementation();
ferrari.startEngine(); // works
(另外,根据 Sun Java 标准,我将您的对象重命名为 ferrari
,没有上限)
关于Java 自动完成不显示我在界面中创建的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11688243/