在Java中,字段(Field)本身不能被重寫(Override),但可以被隱藏(Hide)。當子類定義了一個與父類中同名的字段時,子類的字段會隱藏父類的字段。這種情況下,當你使用子類對象訪問這個字段時,將會訪問到子類的字段,而不是父類的字段。
這里有一個例子來說明這個概念:
class Parent {
public String field = "Parent";
}
class Child extends Parent {
public String field = "Child";
}
public class Main {
public static void main(String[] args) {
Parent parent = new Parent();
Child child = new Child();
System.out.println(parent.field); // 輸出 "Parent"
System.out.println(child.field); // 輸出 "Child"
Parent parent2 = new Child();
System.out.println(parent2.field); // 輸出 "Parent",而不是 "Child"
}
}
在這個例子中,Child
類隱藏了 Parent
類的 field
字段。當我們使用 Child
類的對象訪問 field
字段時,會訪問到 Child
類的字段。但是,當我們使用 Parent
類型的引用指向 Child
類的對象時,訪問 field
字段仍然會訪問到 Parent
類的字段,因為字段隱藏是在編譯時決定的,而不是在運行時決定的。
總之,Java中的字段不能被重寫,但可以被隱藏。如果你想要在子類中改變父類的行為,你可以使用方法重寫(Override)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。