Java私有,受保护,公共和默认
您是Java程序員,所以您知道我在說什么。 public修飾符使方法或字段可從應用程序中的任何位置訪問。 那是簡單的部分。 但是,您能告訴我protected包和私有包的區別嗎? (提示:當您不在方法或字段前面編寫任何訪問修飾符時,package private是對方法或字段的保護。請注意!我說謊!)我的采訪經歷是很多人不知道的。 對于Java開發人員,我是否認為這是不可行的? 并不是的。 即使您不知道,您仍然可能是一名優秀的Java開發人員。 也許現在您將在某個地方查找它。 也許Java規范是一個很好的入門文檔。
我會告訴你一些更有趣的事情。
從字面上看,沒有候選人知道什么是private 。 而您,閱讀本文,也不知道。
好的,這很挑釁。 您可能是少數幾個碰巧用這種無用信息填充大腦的人之一,甚至您可能已經閱讀了Java規范。
大多數Java程序員認為私有方法和字段只能從類內部訪問。 有些人甚至認為僅來自對象實例內部。 他們相信:
public class PrivateAccessOtherObject {public PrivateAccessOtherObject(int i) {this.i = i;}private int i;void copyiTo(PrivateAccessOtherObject other){other.i = i;} }不可能。 (它是。)
那么什么是私人的?
最新的JLS說, 私有類成員或構造函數只能在包含成員或構造函數聲明的頂級類(第7.6節)的正文中訪問。
Java規范中的示例并不是最好的描述規則。 也許那只是一個簡單的例子。 像這樣的東西可能更好地解釋了這個概念:
public class PrivateFieldsContainingClass {private static class NestedClass {private int i;}private NestedClass nestedClassInstance = new NestedClass();void set(int i) {nestedClassInstance.i = i;}int get() {return nestedClassInstance.i;} }可以從封閉類以及NestedClass內部訪問字段i 。 這個例子也很簡單,但更使規范例子錯過了。 這種可能性有什么實際用途? 并不是的。
獎勵問題:為什么我說我在說謊?
翻譯自: https://www.javacodegeeks.com/2014/08/java-private-protected-public-and-default.html
總結
以上是生活随笔為你收集整理的Java私有,受保护,公共和默认的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男生美白的最快方法 男生美白小窍门
- 下一篇: (beatsx安卓)