當前位置:首頁 » 文件傳輸 » 訪問控制修飾符
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

訪問控制修飾符

發布時間: 2022-02-14 12:58:04

A. java中局部變數可以使用訪問控制修飾符嗎

局部變數不可以使用訪問修飾符,他就是在此方法體使用的變數,給它訪問修飾符沒有意義。因為無論給他private,public,protect,內部都能用到,再者編譯也通過的

B. 屬性有那些訪問控制修飾符,分別是什麼作用

public:表明該成員變數和方法是共有的,能在任何情況下被訪問。

protected:必須在同一包中才能被訪問
friendly:在這種情況下中,同protected]
private: 只能在本類中訪問。

C. 面向對象三種訪問控制修飾符在訪問和繼承時的區別

1、總體情況 java中4中修飾符分別為public、protect、default、private,說明了面向對象的封裝性。 2、訪問許可權 訪問許可權 類 包 子類 其他包 public ∨ ∨ ∨ ∨ protect ∨ ∨ ∨ × default ∨ ∨ × × private ∨ × × ×

D. java 的訪問修飾符是什麼

Java中的訪問修飾符

Java面向對象的基本思想之一是封裝細節並且公開介面。Java語言採用訪問控制修飾符來控制類及類的方法和變數的訪問許可權,從而向使用者暴露介面,但隱藏實現細節。訪問控制分為四種級別:

(1)public: 用public修飾的類、類屬變數及方法,包內及包外的任何類(包括子類和普通類)均可以訪問;

(2)protected: 用protected修飾的類、類屬變數及方法,包內的任何類及包外那些繼承了該類的子類才能訪問(此處稍後解釋),protected重點突出繼承;

(3)default: 如果一個類、類屬變數及方法沒有用任何修飾符(即沒有用public、protected及private中任何一種修飾),則其訪問許可權為default(默認訪問許可權)。默

認訪問許可權的類、類屬變數及方法,包內的任何類(包括繼承了此類的子類)都可以訪問它,而對於包外的任何類都不能訪問它(包括包外繼承了此類的子類)。default重點突出包;

(4)private: 用private修飾的類、類屬變數及方法,只有本類可以訪問,而包內包外的任何類均不能訪問它。

網上一些資料及一些書上用表格對java訪問修飾符做了清楚的總結,如下表所示:

重要總結:通過上面的分析,我們可以看到:

1.public、private和protected對我們來說沒有任何異議。

2. 頂層類只能用public訪問修飾符和default(默認)訪問修飾符修飾,其中用默認修飾符修飾的類(及沒有任何修飾符的類,如class B{})不能被其他包中的類繼承,這也說明了default(默認)訪問修飾符突出的是包許可權

3. protected:本人做了一次實驗,發現在不同包的子類中,new一個父類對象,並用該父類對象去訪問父類中的用protected修飾的類屬變數和方法時不能訪問,而new一個子類對象時,子類對象可以訪問(說明protected修飾的類可以被其他包中的類繼承)。也可以在子類重寫父類的方法中使用super關鍵字調用。這豈不是和上面表格中的總結(紅色對勾)沖突了?本人也是百思不得其解。最後在網上找到了一個相對比較認可的解釋,如下:

protected修飾符的修飾的成員變數和方法也稱為受保護的成員變數和方法, 受保護的成員變數和方法可以在本類或同一個包中的其它類(包括子類)中通過類的實例進行訪問,也可以被同一個包中的類或不同包中的類繼承,但是不能在不同包中的其它類(包括子類)中通過類的實例進行訪問。

4. 如果一個類使用public修飾,那該類的類名必須與他所在的源文件名相同。一個.java源文件中有且只有一個public類,頂層類只能用public和默認修飾符(即無修飾符)修飾;

5.final修飾的類不能被繼承,沒有子類。

6.abstract修飾的類不能被實例化,必須被子類繼承。類只要有一個抽象方法就必定是抽象類,但抽象類不一定要有抽象方法。

最終總結,就一句話:protected修飾符所修飾的類(這句話中指父類)屬成員變數和方法,只可以被子類訪問,而不管子類是不是和父類位於同一個包中。default修飾符所修飾的類屬成員變數和方法,只可被同一個包中的其他類訪問,而不管其他類是不是該類的子類。protected屬於子類限制修飾符,而default屬於包限制修飾符。

E. 簡述類中成員的幾種訪問控制修飾符的差異,並舉例說明

public 是公用的,只要導入這個項目,任何項目都可以訪問到該項目屬性,方法等。
private 是私有的,只能在本類中使用和訪問。
protected 是受保護許可權的,只能在本項目中被識別和讀取。
default 是默認的,說白了,和protected一樣,很少用這個。

F. 類有那些訪問控制修飾符,分別是什麼作用

都別亂說 ,類的訪問控制符就兩個 :一個是public 公共類,即所有的類都能訪問引用 該類。一個是package-private 包私有,只有本包的類才能訪問 該類。 類的修飾符就多了,我知道的 有: final 最終類,最終的不能被繼承,沒子類。 static 靜態嵌套類, 顧名思義,靜態的。而且是嵌套的 ,外部類不能用static修飾,只有 嵌套類才行。 abstract 抽象類,就是 類中有方法是抽象方法。ps:全部都是抽象方法,就是介面了。

G. 方法有那些訪問控制修飾符,分別是什麼作用

方法有那些訪問控制修飾符,分別是什麼作用
public private protected 和友好型這四種:
public 可以讓任何類訪問到;
private只有本類中可以使用
protected 可以讓不同包中的類訪問但是它們必須有繼承關系
友好型只能讓本類和本包中的類訪問

H. Java中類有哪些訪問控制修飾符,並指出它們的訪問控製作用范圍

類的訪問控制符只有public與默認兩種;類成員的訪問控制符包括public,private,protected,與默認,java中沒有friendly。public代表允許所有類及成員訪問,private代表僅允許本類成員訪問,protected代表僅允許本類及其子類成員訪問,默認代表允許本包中類及其成員訪問

I. 成員變數和成員方法的訪問控制修飾符有哪些

一共分四種,開放性有小到大 :public>defualt>protect>private
public:可以認為沒有限制訪問
defualt:同一個包中可訪問(類中不寫默認為次修飾符)
protect:本類以及所有子類可訪問
private:本類內可訪問

J. 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方法不可。
如果對你有幫助請採納,謝謝!