Java 自动完成不显示我在界面中创建的方法

标签 java eclipse interface content-assist

我正在尝试从类型为接口(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/

相关文章:

java - 在 Eclipse Helios 中,无法回滚插件安装

python - 使用 PyDev 自定义调试打印格式

c# - 我应该为消息接收者创建接口(interface)吗?

c# - 为什么在 web api 方法中返回接口(interface)时,我得到的是具有接口(interface)值的继承类的值?

java - itext7 - 如何在写入期间过滤渲染事件

java - 将任何类型作为方法参数传递

java - "Run as"在 MyEclipse 中禁用选项

java - Maven Artifact 和组命名约定

eclipse - Eclipse 编辑器是否具有等效于 Emacs 的 "align-regex"?

c++ - C++ 中的接口(interface) : why do I need an interface class + another parent class?