這是問題的後續問題:"java access modifiers and overriding"。前者通常處理Java方法。爲什麼Java領域的靈活性?我們可以通過他們對繼承階級的尊重來縮小或擴大知名度,而不能採用「重寫」或「隱藏」方法。訪問修飾符和隱藏Java字段
回答
你從來沒有覆蓋字段開始 - 你是總是隱藏它們。字段是不是多態......換句話說,如果你寫:
Superclass x = new Subclass();
System.out.println(x.field);
兩者Superclass
和Subclass
聲明場稱爲field
,它將始終使用超一個,無論如何,因爲這是所有的編譯器可以看到」。
個人而言,我儘量保持我的私有變量反正...
這是我在* .net中愛*屬性的衆多原因之一 - 它們看起來和感覺像是字段,但仍然可以是多態。 –
爲什麼用java領域
你不能在其他類中的字段去私人通過擴展它的靈活性。當你在一個子類中創建一個新字段時,你只是隱藏了超類字段。
class Base {
protected int x;
}
class Ext extends Base {
private int x; // not the same as Base.x
}
當然,您可以創建一個私人的字段。我認爲你的意思是你不能通過在子類中提供一個私有字段來改變基類中字段的訪問權......但是我建議你澄清你的答案。 –
Ups,已更新! :) – dacwe
- 1. 爲什麼Java限制隱藏方法的訪問修飾符
- 2. Java:訪問隱藏接口字段
- 3. Java訪問修飾符:無修飾符與「默認」
- 4. 訪問隱藏字段值
- 5. 訪問隱藏字段值
- 6. Java訪問修飾符優先
- 7. 在java中訪問'final'修飾符類
- 8. 關於java最終訪問修飾符
- 9. Java默認訪問修飾符
- 10. Java類中的方法和字段訪問修飾符的簡寫?
- 11. Delphi訪問修飾符
- 12. 內部訪問修飾符
- 13. 庫級訪問修飾符
- 14. EventInfo訪問修飾符
- 15. 動態訪問修飾符
- 16. 練習訪問修飾符
- 17. 類訪問修飾符
- 18. 保護訪問修飾符
- 19. 通過訪問修飾符
- 20. 包訪問(protected修飾符)
- 21. 類和訪問修飾符在.NET
- 22. 公共和私人訪問修飾符
- 23. 類嵌套和訪問修飾符
- 24. javascript中的類和訪問修飾符
- 25. 訪問說明符和訪問修飾符有什麼區別?
- 26. Java字段隱藏
- 27. Java訪問修飾符的訪問範圍
- 28. 訪問修飾符C# - 內部修飾符
- 29. java訪問修飾符和重寫方法
- 30. 私有和公共java訪問修飾符基礎知識
請發佈一個鏈接到該問題 – adarshr
字段沒有被覆蓋。他們只是隱藏起來。 – Kal
謝謝adarshr http://stackoverflow.com/questions/6851612/java-access-modifiers-and-overriding – yesilupper