2013-08-21 91 views
1

我讀過使用@Override註解帶來許多好處,並且共識是您應該在每個被覆蓋的方法上使用它。在構造函數中使用Override註解是一種很好的做法嗎?

在構造函數中使用@Override註解是否被認爲是一種好習慣?

+0

告訴我,你'overwrite'一個構造函數的例子。 – MrSmith42

+2

這個http://stackoverflow.com/questions/5099924/is-constructor-overriding-possible應該可以幫到你。 –

+0

實際上,在構造函數中使用'@ Override'註解會導致以下錯誤消息:'註釋類型不適用於這種聲明'。 –

回答

9

構造函數沒有被覆蓋。

1

@Override註解在構造函數的上下文中沒有意義。也許你很困惑overridingoverloading。這是一個重要的區別。您不會重寫構造函數,但可能會重載它們。

1

當具有相同名稱,返回類型,數量和參數類型的子類被聲明爲超類的實例方法時,將發生重寫。在這種情況下,子類將覆蓋超類的方法。

如果您未指定默認構造函數,編譯器將創建一個默認構造函數。然而,這並不是最重要的。

當您擴展一個類時,Base類可以鏈接到Baseclass構造函數或創建它自己的。

對於如:

public class Base 
{ 
    public Base(int i) {} 

    public Base(String str) {} 
} 

public class Derived extends Base 
{ 
    public Derived() 
    { 
     super(5); 
    } 
} 

Derived d1 = new Derived(4); // Correct 
Derived d1 = new Derived("4"); // Incorrect - constructor not implemented 
相關問題