在Java中的類字段上使用默認訪問級別時是否有任何開銷? 我的意思是「任何」,甚至在啓動納秒。 我聽說JVM製作了一個字段範圍圖,這可能是開銷的一個可能原因。爲什麼我們使私有字段而不是本地包
我懶得寫私人關鍵字。有沒有很好的理由寫私人關鍵字,而不是包本地?本地包似乎足夠本地。
-3
A
回答
0
你問的基本知識OOP你 看到OOP有4個基本原則
- Inherritance
- 抽象
- 多態性
- 封裝 - 這是當
private
或protected
關鍵字現場電影
通過這些關鍵詞,你可以限制存取權限的對象的某些字段,以便他們不能「看到」外界
現在你的問題
我懶得寫私人關鍵詞。有沒有很好的理由寫私人關鍵字,而不是包本地?
封裝有助於開發人員使代碼更加靈活和可維護。通過良好的封裝實現,可以輕鬆更改代碼的一部分,而不會影響代碼的其他部分。
1
「有沒有什麼好的理由寫私人」?
是的,有一個很好的理由。你不想讓你的私人成員被訪問。
的訪問修飾符的摘要以及何時和爲什麼要使用它們, http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
私人瀏覽此網站=這是不行的爲他們比媽媽級改爲其他。
沒有修飾符=它們可以被同一個包中的任何類改變。
保護=一樣沒有修飾符+它是好的,由一個子類來改變
公共=它是好的,爲他們一般被改變。
如果你點擊上面的鏈接,你會聽從警告,以他們的建議
使用最嚴格的訪問級別有意義的 特定成員。除非你有充分的理由不要私人使用。
如果你把沒有修改你實際上是說,
「我明確希望其他程序員來改變這些領域,如果他們的類在同一個包我的。」
你應該始終把私人除非另有並通過這樣做,你都這麼說,
「我不想讓其他程序員改變這些領域。」
相關問題
- 1. 爲什麼我們使用字段和屬性而不是變量?
- 2. 爲什麼我們要包含(Object o)而不是Containers(E e)?
- 3. 爲什麼Scala的本地方法不能是私有
- 4. 爲什麼不使用MAC地址而不是本地IP?
- 5. 而不是java腳本爲什麼我們不能使用perl腳本?
- 6. 爲什麼我們不使用函數數據庫而不是包/庫?
- 7. 爲什麼我們不使用Repeater Control而不是Gridview Control?
- 8. 爲什麼我們不使用lite-server而不是Gulp?
- 9. 爲什麼我們不得不使用私人?在C + +和Java?
- 10. 爲什麼SQLBRITE和我們爲什麼使用它而不是SQLite?
- 11. 爲什麼我們使用`#include「stdafx.h」`而不是`#include <stdafx.h>`?
- 12. 爲什麼我們主要使用LocalDB而不是SQL Server?
- 13. 爲什麼我們使用`as foo(geom)`而不是`As geom`
- 14. 爲什麼我們使用接口而不是協議?
- 15. 爲什麼我們使用HTTP而不是遠程調用?
- 16. 爲什麼我們使用ApacheHttpClient而不是HttpURLConnection?
- 17. 當我們提取請求時,爲什麼我們使用Like而不是==?
- 18. 爲什麼我們分別使用公共和私有變量
- 19. 爲什麼我們不在http上發送文本而不是發送文本?
- 20. 什麼是私人FrameWorks,我們將如何使用它們?
- 21. 爲什麼我們需要鍵入 '( 「+ I +」)',而不僅僅是 '(我)'
- 22. 爲什麼C#沒有包私有?
- 23. PHP |爲什麼我應該使用公共靜態/私有靜態函數而不是公共/私有函數?
- 24. GSON爲什麼使用字段而不是getters/setters?
- 25. 爲什麼使用Properties而不是字段?
- 26. 爲什麼我們不能用192.168.1子網掩碼,而不是
- 27. 簡單而簡單地說,我們爲什麼要使用_stdcall?
- 28. 爲什麼我會使用白色屏幕而不是地圖?
- 29. 爲什麼我們在android中有活動?而不是僅使用視圖?
- 30. 爲什麼PHP私有類var不是私有的?
你知不知道實際上package-local比protected更受限制? –