[英]Netbeans Override Annotation
我正在嘗試創建一個從抽象超類繼承的新類(包含三個抽象方法)。 問題是netbeans給了我一個警告:添加@override注解。 如果我不重寫任何方法,為什么要這樣做(添加此批注)。 有什么問題 ?
超類是
abstract class Vehicul {
String denumireaVehiculului;
float lungimeaMinimaVehicul;
int numarulMinimDeLocuri;
public abstract void mediulDeDeplasareAVehiculului();
public abstract void nivelulDeSiguranta();
// Constructor implicit
Vehicul() {
denumireaVehiculului = "Eu sint vehicul";
System.out.println(denumireaVehiculului);
lungimeaMinimaVehicul = 3.50f;
System.out.println("Lungimea minima este "+lungimeaMinimaVehicul);
numarulMinimDeLocuri = 2;
System.out.println("Numarul minim de locure este "+numarulMinimDeLocuri);
}
}
子類為
public class Avion extends Vehicul {
public void mediulDeDeplasareAVehiculului() {
}
public void nivelulDeSiguranta() {
}
public String getDenumireaVehiculului() {
return "Avion";
public void afiseazaCineEsti() {
System.out.println("Eu sunt un avion");
}
}
因為您要覆蓋(排序-如下所示)。
public class Avion extends Vehicul {
public void mediulDeDeplasareAVehiculului() {
...
}
添加注釋的原因之一是保護自己免受自己的傷害。 如果沒有注釋,則如果修改了抽象類並刪除了抽象方法,則子類中的方法將變為“正常”而您不知道。
帶有注釋,編譯器會說“嘿-您是在告訴我您覆蓋了某些內容,但您不是”
這是@Override
的文檔所說的內容:
指示方法聲明旨在覆蓋超類中的方法聲明。 如果使用此注釋類型對方法進行注釋但未覆蓋超類方法,則要求編譯器生成錯誤消息。
我知道這有點令人困惑,因為您實際上並沒有覆蓋任何東西(您正在實現它!),但這就是它的工作方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.