Java访问控制修饰符

首先通过一张表格一览Java访问控制修饰符的概括。

修饰符 当前类 同一包内 子孙类(同一包) 子孙类(不同包) 其他包
public Y Y Y Y Y
protected Y Y Y Y/N N
default Y Y Y N N
private Y N N N N

public

public修饰符的权限最大,它可以修饰类,接口,变量和方法且对所有类可见。

proteced

protected可以修饰变量和方法,对同一包内均可见。若是不同包内的子类,可访问子类实例的protected方法。

package p2; 
class MyObject2 { 
    protected Object clone() throws CloneNotSupportedException{ 
                return super.clone(); 
        } 
} 
    
package p22;
public class Test2 extends MyObject2 
{ 
    public static void main(String args[]) 
    { 
        MyObject2 obj = new MyObject2(); 
        obj.clone(); // Compile Error ----(1) 
        Test2 tobj = new Test2(); 
                tobj.clone(); // Complie OK ----(2) 
        } 
}

default

default可修饰类,接口,变量和方法,对同一包内可见。

private

private可修饰变量和方法,同一类内可见。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 访问控制修饰符: 用来控制对类、方法和变量访问权限的修饰符。Java 支持 4 种不同的访问权限: default...
    竹鼠不要中暑阅读 741评论 0 2
  • Java中的访问控制修饰符一共有四个:publ...
    john_leventon阅读 300评论 0 0
  • public:所有类可见,不管同包不同包。被声明为public的类、方法、构造方法和接口都能被任何其它类访问。如果...
    平凡的鱼仔阅读 289评论 0 0
  • 1 玉楼春 (清·纳兰性德) 人生若只如初见,何事秋风悲画扇? 等闲变却故人心,却道故人心易变。 骊山语罢清宵半,...
    仓鼠Betsy阅读 744评论 0 0
  • 一个对称画了三节课,还是不会,继续教。一节课重复一个动作,“来,看着大屏幕跟老师这样把笔放到这个点上。”看...
    娟秀人生阅读 442评论 0 4