我是靠谱客的博主 陶醉书包,这篇文章主要介绍访问修饰符的详解与应用,现在分享给大家,希望可以做个参考。

基本介绍:

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视频

最后

以上就是陶醉书包最近收集整理的关于访问修饰符的详解与应用的全部内容,更多相关访问修饰符内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(129)

评论列表共有 0 条评论

立即
投稿
返回
顶部