访问修饰符的详解与应用

基本介绍:

java提供的四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围)

1.公开级别:用public 修饰,对外公开;

2.受保护级别:用protected修饰,对子类和同一个包中的类公开;

3.默认级别:没有修饰符号,向同一个包中的类公开;

4.私有级别:private修饰,只有类本身可以访问,不对外公开;

访问修饰符的访问范围:

 

访问级别访问控制修饰符同类同包子类不同包
公开public
受保护protected×
默认没有修饰符号××
私有private×××

使用的注意事项:

1.修饰符可以用来修饰类中的属性,成员方法以及类;

2.只有默认和public可以用来修饰类;并且遵守上述访问权限的特点。

3.成员方法的访问规则和属性完全一样;

一.首先我们先验证同类下的运行

代码实现:

1.  首先我们定义A类来创造4个不同修饰权限的变量

package src.modifier;

/**
 * @auther mhqstart
 * @create 2022-01-19 11:17
 */
public class A {
    //四个属性,分别使用不同的访问修饰符来修饰
    public int n1 = 100;
    protected  int n2 = 200;
    int n3 = 300;
    private int n4 = 400;
    public void m1(){
        //该方法可以访问四个属性
        System.out.println("n1="+n1+"n2="+n2+"n3="+n3+"n4="+n4);
    }
}

2.我们在同一个包下定义一个测试类来实现;

package src.modifier;

/**
 * @auther mhqstart
 * @create 2022-01-19 11:24
 */
public class Test {
    public static void main(String[] args) {
        A a = new A();
        a.m1();
    }
}

我们发现在同一个类下,所有的权限都能够使用

得出结果,代码运行无误;

 二.我们继续验证同包下的运行;

代码实现:

1.我们在同包下定义B类

package src.modifier;

/**
 * @auther mhqstart
 * @create 2022-01-19 11:53
 */
public class B {
    public void say(){]
        A a = new A();
        //在同一个包下,可以访问public,protected和默认,不能访问private;
        System.out.println("n1="+a.n1+"n2="+a.n2+"n3="+a.n3+"n4="+a.n4);
    }
}

2.我们在测试类中再进行测试;(此时将n4部分移除后)

我们发现在同一个包内可以访问public,protected和默认,不能访问private;

三.我们验证子类下的运行

 1. 子类继承了所有 的属性和方法,但是私有属性和方法不能在子类直接访问,要通过父类的公共的方法去访问

2.不同包中,类的子类只有public,protected能够访问;

 四.我们继续验证不同包下的运行;

代码实现:

 1.我们再不同包下定义测试类

 2,通过测试类实现代码

 我们发现不同包下只有public公开类能够使用;

本文参考韩顺平老师的JAVA视频

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值