訪問控制權限—Java如何在代碼體現面向對象和多態(3)

一、訪問控制權限

(1)訪問控制權限都有哪些?

private 私有
public 公開
  默認
protected 受保護

(2)以上4個訪問控制權限的,控制範圍是什麼?

訪問修飾符

本類

同包

子類

任意位置

Public

可以

可以

可以

可以

Protected

可以

可以

可以

不行

默認

可以

可以

不行

不行

Private

可以

不行

不行

不行

 (3)測試

(a)首先我先建立了一個包

(b)在這個包中我定義了一個類,並且給他四個不同類型的訪問權限

(c)在Test類中,我分別去訪問這四個屬性

結果,我發現只有被private修飾的id會報錯,所以private 只能在本類中訪問,即使是同包也不能訪問。

(5)之後,我又在lftgb這個包下面建立了一個類Test2

 

 (6)繼續訪問UserTest

結果我發現只有被public修飾的name沒有被報紅,被protected/默認修飾的age、sex都報紅了。

(7)我再測試用Test2去測試UserTest

 用子類去訪問age就可以了,但是這時候我遇到了一個問題,如果我用父類去訪問自己的protected行不?

 

 這種情況下,是不行的。

二、訪問控制權限可以修飾什麼?

屬性 4個都可以
方法 4個都能用
public和默認能用,其他不行
接口 public和默認能用,其他不行

 

三、總結

private只可以修飾本類的,proctected和默認可以修飾同包的,其實protected也可以修飾不同包子類的,public都可以。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章