Java修饰符public,protected,default,private访问权限

public

具有最大的访问权限。所有类可访问。

protected

主要是用来保护子类。自身、子类及同一个包中类可以访问

default

没有加修饰符的。有时候也称为friendly,它是针对本包访问而设计的。同一包中可以访问。

private

 访问权限仅限于类的内部,是一种封装的体现。只能被自己访问

 类内部子类内部(本包)其他类(本包)子类内部(外部包)其他类(外部包)
publicOOOOO
protectedOOOOX
defaultOOOXX
privateOXXXX

 

 

 

 

 

示例代码

包apkg

ParentA.java

package apkg;

public class ParentA {
    public String publicVariable = "public";
    protected String protectedVariable = "protected";
    String variable = "default";
    private String privateVariable = "privater";
    
    public void show() {
        System.out.println(this.publicVariable);
        System.out.println(this.protectedVariable);
        System.out.println(this.variable);
        System.out.println(this.privateVariable);
    }
    
    public static void main(String[] args) {
        ParentA apkg = new ParentA();
        apkg.show();
    }
}

SonA.java

package apkg;

public class SonA extends ParentA {
    public void show() {
        System.out.println(this.publicVariable);
        System.out.println(this.protectedVariable);
        System.out.println(this.variable);
        //System.out.println(this.privateVariable);// 无法访问
    }
}

UncleA.java

package apkg;

import apkg.ParentA;

public class UncleA {
    public void show() {
        ParentA apkg = new ParentA();
        System.out.println(apkg.publicVariable);
        System.out.println(apkg.protectedVariable);
        System.out.println(apkg.variable);
        //System.out.println(apkg.privateVariable);// 无法访问
    }
}

包bpkg

SonB.java

package bpkg;

import apkg.ParentA;

public class SonB extends ParentA {
    public void show() {
        System.out.println(this.publicVariable);
        System.out.println(this.protectedVariable);
        //System.out.println(this.variable);// 无法访问
        //System.out.println(this.privateVariable);// 无法访问
    }
}

UncleB.java

package bpkg;

import apkg.ParentA;

public class UncleB {
    public void show() {
        ParentA apkg = new ParentA();
        System.out.println(apkg.publicVariable);
        //System.out.println(apkg.protectedVariable);// 无法访问
        //System.out.println(apkg.variable);// 无法访问
        //System.out.println(apkg.privateVariable);// 无法访问
    }
}

 

 

 

 

 

 

转载于:https://www.cnblogs.com/yangchongxing/p/8365494.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值