Java權限修飾符

一、Java的修飾符的分類:

  • 權限修飾符:public、默認(包訪問權限)、protected、private
  • 其他修飾符:abstract、static、fianl、transient、volatile、native、synchronized、strictrp


二、權限修飾符:

    權限修飾符:可以修飾類、類成員(包括成員變量和成員方法)

  1. 修飾類:對於非內部類而言,類的訪問權限僅有public和包訪問權限兩種(內部類可以是private或protected)
  2. 修飾成員:對於一個類,其成員能否被其他類訪問,取決於該成員的權限修飾符。在Java中,類成員的訪問修飾符有四個:public、默認(包訪問權限)、protected、private。而訪問的範圍有5個:本類中、子父類(同一個包)、子父類(不同的包)、其他類(同一個包)、其他類(不同的包),其具體權限控制如下表所示:


在本類中:public、default、protected、private修飾的成員都能被訪問。

在同一個包下的子父類中:除了private不能被訪問,其它的都可以。

在不同包下的子父類中: public修飾的能被訪問,對於protected修飾的,子類的實例可以訪問從父類繼承而來的protected方法。即在子類中的某個方法fun1()直接訪問父類的protected方法,再去實例化子類,通過子類的實例調用fun1(),從而間接實現訪問父類的protected方法,但不能通過父類的實例直接去訪問其protected方法。

在同一個包下的其他類中:除了private不能被訪問,其它的都可以。

在不同包下的其他類中:只有public能被訪問,其他的都不能被訪問。

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