2012-01-26 26 views
0

我有以下類指定默認的回報,同時聲明一個抽象方法

接口:

public abstract class MyAbstractClass 
{ 
    public abstract boolean checkSomething(); 
} 

的類繼承抽象類:

public class MyClass extends MyAbstractClass 
{ 
    public boolean checkSomething() 
    { 
    return true; 
    } 
} 

當我創建MyClass的eclipse checkSomething()方法是自動創建的,但默認返回值爲false。有沒有辦法在抽象方法定義中指定默認的返回類型是什麼?

+2

您是在談論eclipse自動放入代碼的返回值,還是繼承函數的返回值? –

回答

3

不,在Java中沒有這種「默認返回值」。每個實現都應該爲它自己決定 - 這只是Eclipse使用的方法模板,而恰恰是錯誤的。鑑於你應該更換方法體,我沒有看到這個問題。

如果「剛返回true」的默認實現是合理的,那聽起來好像checkSomething不應該是抽象的 - 這就是默認實現將生存的地方,並且被希望提供更具體行爲的類覆蓋。

0

在抽象方法聲明中不能有方法體。所以沒有辦法在抽象方法中指定默認返回值。這與IDE模板無關。