我讀過使用@Override
註解帶來許多好處,並且共識是您應該在每個被覆蓋的方法上使用它。在構造函數中使用Override註解是一種很好的做法嗎?
在構造函數中使用@Override
註解是否被認爲是一種好習慣?
我讀過使用@Override
註解帶來許多好處,並且共識是您應該在每個被覆蓋的方法上使用它。在構造函數中使用Override註解是一種很好的做法嗎?
在構造函數中使用@Override
註解是否被認爲是一種好習慣?
第
構造函數沒有被覆蓋。
@Override
註解在構造函數的上下文中沒有意義。也許你很困惑overriding與overloading。這是一個重要的區別。您不會重寫構造函數,但可能會重載它們。
當具有相同名稱,返回類型,數量和參數類型的子類被聲明爲超類的實例方法時,將發生重寫。在這種情況下,子類將覆蓋超類的方法。
如果您未指定默認構造函數,編譯器將創建一個默認構造函數。然而,這並不是最重要的。
當您擴展一個類時,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
告訴我,你'overwrite'一個構造函數的例子。 – MrSmith42
這個http://stackoverflow.com/questions/5099924/is-constructor-overriding-possible應該可以幫到你。 –
實際上,在構造函數中使用'@ Override'註解會導致以下錯誤消息:'註釋類型不適用於這種聲明'。 –