2012-07-27 42 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標準)