我真的很希望我只是錯過了一些簡單的東西,但我正在閱讀以下內容:http://docs.oracle.com/javase/tutorial/java/IandI/override.html。@Override on子類中的方法「出現」在運行時被忽略
我有兩個類和一個接口。從字面上看這個Oracle文檔頁面中顯示的「用例」。然而,當我運行JUnit測試 - 只有在超類中的方法被調用和方法具有簡單的默認,我不想叫:
接口包含此方法的簽名:
public interface RecordServiceInterface {
List<String> searchRecords(String id) throws ServiceException;
}
實現接口的超類包含默認的這個方法 - Eclipse IDE在找到未實現類的缺少方法時插入此方法。
public class RecordService implements RecordServiceInterface {
public List<String> searchRecords(String id) throws ServiceException {
// TODO Auto-generated method stub
return null;
}
}
在運行時,只有上面的代碼被調用,因爲我每次都要通過調試器。
子類則擴展了超類,並且有一個要替換的真正落實:
public class MyRecordService extends RecordService {
@Override
public List<String> searchRecords(String id) throws ServiceException {
List<String> myList = new ArrayList<String>();
// ...
return myList;
}
}
我必須完全缺少的@Override
點。在執行期間,它反覆無法使用@Override
註釋進入方法。
您能否包含測試的來源? –