java核心技术----访问权限
生活随笔
收集整理的這篇文章主要介紹了
java核心技术----访问权限
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java支持四種不同的訪問權限:
| 修飾符 | 說明 |
| public | 共有的,對所有類可見 |
| protected | 受保護的,對同一包內的類和所有子類可見 |
| private | 私有的,在同一類內可見 |
| 默認的 | 在同一包內可見。默認不使用任何修飾符 |
?1、public:public表明該數據域、方法是對所有用戶開放的,所有用戶都可以直接進行訪問。
?2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接訪問,私有財產神圣不可侵犯嘛,即便是子女,朋友(同一包內的類),都不可以使用。
?3、protected:protected對于子女、朋友來說,就是public的,可以自由使用,沒有任何限制;而對于其他的外部class,protected就變成private。
| 作用域 | ?當前類 | ? ? ? ? ? ? ? 同一其 他 ? ? package ?? | 子孫類 | 其他package |
| public | √ | √ | √ | √ |
| protected | √ | √ | √ | × |
| 默認的 | √ | √ | × | |
| private | √ | × | × | × |
在實際的使用過程中,數據域應該設置為private,方法設置為public,這樣更能體現出OOP封裝的原則。
類只有默認和public訪問權限。
public權限:包外也可以訪問;
默認權限:包外不可以訪問。
*\com\example\test.java
package com.example;/*** Created by N3verL4nd on 2016/11/21.*/ class test {private String str = "Hello World";public String getStr() {return str;} }HelloWorld.java在默認包中
test類改為public則可以進行訪問
Java中的受保護部分對所有子類及同一個包中的所有其他類都可見。這點顯得很雞肋。
總結一下:
private:僅對本類可見
public:對所有類可見
protected:對本包和所有子類可見
默認權限(不需要修飾符):對本包可見
參考:http://www.cnblogs.com/dolphin0520/p/3734915.html
轉載于:https://www.cnblogs.com/lgh1992314/p/6616295.html
總結
以上是生活随笔為你收集整理的java核心技术----访问权限的全部內容,希望文章能夠幫你解決所遇到的問題。