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能被访问,其他的都不能被访问。

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