Ⅰ java中訪問控制符的作用
java中訪問控制符的作用是說明被聲明的內容(類、屬性、方法和構造方法)的訪問許可權,就像發布的文件一樣,在文件中標注機密,就是說明該文件可以被那些人閱讀。
訪問控制在面向對象技術中處於很重要的地位,合理的使用訪問控制符,可以通過降低類和類之間的耦合性(關聯性)來降低整個項目的復雜度,也便於整個項目的開發和維護。具體的實現就是通過訪問控制符將類中會被其它類調用的內容開放出來,而把不希望別人調用的內容隱藏起來,這樣一個類開放的信息變得比較有限,從而降低了整個項目開放的信息,另外因為不被別人調用的功能被隱藏起來,在修改類內部隱藏的內容時,只要最終的功能沒有改變,即使改變功能的實現方式,項目中其它的類不需要更改,這樣可以提高了代碼的可維護性,便於項目代碼的修改。
在Java語言中訪問控制許可權有4種,使用三個關鍵字進行表達,依次如下:
lpublic——公共的
lprotected——受保護的
l無訪問控制符——默認的
lprivate——私有的
在實際使用時,類聲明的訪問控制符只有2個:public和無訪問控制符,屬性聲明、構造方法聲明和方法聲明的訪問控制符可以是以上4種中的任何一個。
這4個訪問控制符的許可權作用如下表所示:
在4種訪問控制中,public一般稱作公共許可權,其限制最小,也可以說沒有限制,使用public修飾的內容可以在其它所有位置訪問,只要能訪問到對應的類,就可以訪問到類內部public修飾的內容,一般在項目中開放的方法和構造方法使用public修飾,開放給項目使用的類也使用public修飾。protected一般稱作繼承許可權,使用protected修飾的內容可以被同一個包中的類訪問也可以在不同包內部的子類中訪問,一般用於修飾只開放給子類的屬性、方法和構造方法。無訪問控制符一般稱作包許可權,無訪問控制符修飾的內容可以被同一個包中的類訪問,一般用於修飾項目中一個包內部的功能類,這些類的功能只是輔助其它的類實現,而為包外部的類提供功能。private一般稱作私有許可權,其限制最大,類似於文件中的絕密,使用private修飾的內容只能在當前類中訪問,而不能被類外部的任何內容訪問,一般修飾不開放給外部使用的內容,修改private的內容一般對外部的實現沒有影響。
Ⅱ Java 訪問控制修飾符
幫你找了一篇博客,寫的很好:http://xuyan6688.blog.163.com/blog/static/2920588920115178519198/
public :能被所有的類(介面、成員)訪問。
protected:只能被本類、同一個包中的類訪問;如果在其他包中被訪問,則必須是該成員所屬類的子類。
private:成員變數和方法都只能在定義它的類中被訪問,其他類都訪問不到。對成員變數的進行獲取和更改,一般用get(),set() ,public 方法。實現了Java面向對象的封裝思想。
friendly(預設):訪問許可權與protected相似,但修飾類成員時不同包中的子類不能訪問。
static:修飾變數,稱為類變數或靜態變數。靜態變數是和類存在一起的,每個實例共享這個靜態變數,在類載入時初始化。
final:被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取不能更改。修飾類是不能派生出子類,修飾方法時,不能被當前子類的方法覆蓋。
abstract:不能創建abstract 類的實例。一般被繼承,實現抽象方法。類只要有一個abstract方法,類就必須定義為abstract,但abstract類不一定非要保護abstract方法不可。
如果對你有幫助請採納,謝謝!
Ⅲ 在Java中,什麼是訪問控制符有哪些訪問控制符哪些可以用來修飾類哪些用來修飾方法
類修飾符
Public
可以從其他類中訪問
obstract
本類不能被實例化
final
不能再聲明子類
構造器修飾符
Public
可以從所有的類中訪問
Protected
只能從自己的類和它的子類中訪問
Private
只能在本類中訪問
域修飾符
Public
可以從所有的類中訪問
Protected
只能從本類和它的子類中訪問
Private
只能從本類中訪問它
Static
對該類的所有實例只能有一個域值存在
transient
不是一個對象持久狀態的一部份
Volatile
可以被非同步的線程所修改
final
必須對它賦予初值並且不能修改它
局部變數修飾符
final
必須對它賦予初值並且不能修改它
方法修飾符
Public
可以從所有的類中訪問它
Protected
只能從本類及其子類中訪問它
Private
只能從本類中訪問它
abstract
沒有方法體,屬於一個抽象類
final
子類不能覆蓋它
static
被綁定於類本身而不是類的實例
native
該方法由其他編程語言實現
asnchronized
在一個線程調用它之前必須先給它加
Ⅳ java中public和protected訪問控制符有什麼區別貌似都可以被包外的類訪問啊
protected是保護的,只有他自身或者繼承他的類可以用,public是共有的,所有類都可以調用
Ⅳ java中的訪問控制符有哪3種
private 私有
public 共有
protected 子級
還有一個什麼都不寫,默認
Ⅵ java簡單敘述什麼是訪問控制符,列出JAVA中的訪問控制符,並說明各個訪問控制的控制許可權。
public:任何代碼都可以訪問。
protected:只有子類和同包內的代碼可以訪問。
默認訪問許可權:沒有關鍵字,同一包內代碼可以訪問。
private:只有本類內部可以訪問。
Ⅶ Java的訪問控制符有哪些,試說明它們之間的區別
private私有,只能被本類訪問 public共有,能被本項目的任何一個類訪問 protected受保護的,只能被子類訪問