2012-07-27 50 views
0

我想从类型为interface的对象调用方法。Java自动完成不显示我的方法在接口中创建

private Car Ferrari; 
    Ferrari.startEngine(); 

Carinterface类与被叫startEngine()方法。

我也有一个类实现Car,让我们叫它CarImplementation。所以当我打电话给Ferrari.startEngine()时,我假定CarImplementation中的startEngine()将被调用。

但是,在Eclipse中,我在startEngine()下得到一条红线。而我得到)一个错误信息说

方法startEngine(是未定义类型汽车

如何时,我有我的接口和实现接口的类都startEngine()予以定义?

我还注意到,在我输入法拉利之后的点后,我的startEngine()方法是而不是显示在Eclipse的内容帮助中。

有什么建议吗?

+1

你有救了你的Car.java文件? :-) – 2012-07-27 13:12:20

回答

1

您需要创建一个实例CarImplementation以使用它的实现 - 接口没有实现它们定义的方法。

所以,如果它是一个非静态方法,你想试试这个:

Private Car ferrari = new CarImplementation(); 
ferrari.startEngine(); 
2

Ferrari不是Car,这是null,直到你把它分配给一个实际的对象。

Car ferrari = new CarImplementation(); 
ferrari.startEngine(); // works 

(另外,我改名为你的对象ferrari没有上限,按太阳Java标准)

相关问题