在Java中,是訪問說明符和訪問修飾符是一樣的東西嗎?訪問說明符和訪問修飾符有什麼區別?
回答
號「訪問修飾符」是private
,protected
和public
官方術語,而術語「訪問說明符」不會在Java language specification出現在所有和據我所知是沒有的東西,被廣泛使用。
「訪問修飾符」是在Java language specification中使用的private
,protected
和public
的官方術語。 「訪問說明符」在Java API doc中用作同義詞,但這是我第一次注意到這一點。堅持使用JLS術語可能會更好。
+1用於證明JLS。我認爲這畢竟只是語言障礙。 – BalusC 2010-02-10 17:12:27
從技術上講,private,public,protected和default被視爲訪問說明符。這些處理誰可以...問題。修飾符afaik是易失性的,最終的,靜態的,瞬態的等。這些處理如何..方面。
請爲此提供JLS引用。這是毫無根據的。 – EJP 2010-05-28 05:22:37
參考了Sun Java文檔他們都似乎是相同的:
JDI引用是我見過的在Java規範中使用的術語「訪問說明符」的唯一地方。即使在那裏,公共/保護/私人/包裝也被稱爲「修飾」。真的沒有理由在Java中使用'訪問說明符'這個術語,這顯然只是一個頁面上的錯誤。
Java有基本上2類型修飾符:
- Java訪問修飾符
- java的非訪問修飾符
Java訪問修飾符和Java訪問說明是一回事,這是public
,private
,protected
。
通過使用訪問說明符,我們定義誰可以訪問我們的類/方法和變量(或任何與我們使用訪問說明符)。 基本Java訪問符四種類型 -
- 市民: - 可見的世界,
- 私人: - 可見的只有類,
- 保護: - 可見的包和所有子類,和
- 默認: - 可見於封裝
但是訪問修飾符是一類/方法/可變的特性。 訪問修飾符五種類型
- 決賽: - 最後完成的類,方法的實現,和變量
- 靜: - 用於創建類的方法和變量
- 同步震盪修飾符: - 這是用來線程
- 摘要: - 用於創建抽象類和方法
- 短暫
在一些較早的語言中,public,private,protected和像C++這樣的默認值被認爲是訪問說明符,而其他所有內容都被認爲是訪問修飾符,但在Java中沒有用於說明符的術語,因此默認情況下所有內容都僅被視爲修飾符。 所以公共,私有,保護,默認,最終,抽象,靜態,strictfp,同步,本機,瞬態和易失性都只是修飾符。
它簡單的測試,當我們編譯下面的代碼
私有類測試{}
我們將得到編譯時錯誤說,修改私有這裏不允許的。對於其他修改器也是如此。 也許java編譯器(javac)只能將所有內容視爲「修飾符」。
- 1. 訪問修飾符和訪問說明符之間有什麼區別
- 2. 什麼是訪問修飾符
- 3. 訪問修飾符 - 目的是什麼?
- 4. 爲什麼要在Java中使用訪問說明符/修飾符?
- 5. 需要說明:java中的私有訪問修飾符
- 6. 訪問說明符
- 7. Delphi訪問修飾符
- 8. 內部訪問修飾符
- 9. 庫級訪問修飾符
- 10. EventInfo訪問修飾符
- 11. 動態訪問修飾符
- 12. 練習訪問修飾符
- 13. 類訪問修飾符
- 14. 保護訪問修飾符
- 15. 通過訪問修飾符
- 16. 包訪問(protected修飾符)
- 17. Java - 訪問說明符
- 18. 關於訪問說明符
- 19. 類和訪問修飾符在.NET
- 20. 公共和私人訪問修飾符
- 21. 類嵌套和訪問修飾符
- 22. javascript中的類和訪問修飾符
- 23. 有條件訪問修飾符?
- 24. 沒有訪問修飾符的方法
- 25. Java:爲什麼構造函數具有訪問修飾符?
- 26. 屬性訪問修飾符;爲什麼以下工作沒有?
- 27. 界面成員爲什麼沒有訪問修飾符?
- 28. 爲什麼oop語言沒有「只讀」訪問修飾符?
- 29. 爲什麼python對常量沒有任何訪問修飾符?
- 30. 爲什麼沒有「外部」訪問修飾符?
有趣的是,我從來沒有在幾年前看到這個特殊的問題,但你顯然不是唯一一個想知道這個問題的人:http://www.google.com/search?q=difference+access+specifier+access+modifier;) – BalusC 2010-02-10 17:05:16