Java访问控制权限

导语

封闭性与访问控制权限是有直接联系的。

主要内容

  • Java访问控制权限

具体内容

在Java里面一共支持四种控制权限。public、protected、default、private,而这四种访问控制权限特点:

No. 范围 private default protected public
1 在同一个类中
2 在同一包的不同类
3 在不同包的子类
4 在不同包的非子类

除了public之外,对于封装可以使用private、protected、default,只不过一般不会去考虑使用default。
重点来看protected这种权限。它直接与包的定义有关。

protected访问权限

protected访问权限,它直接与包的定义有关。

范例:protected访问权限
定义cn.mldn.demoa.A类

package cn.mldn.demoa;

public class A {
    protected String info = "Hello";
}

定义cn.mldn.demob.B类

package cn.mldn.demob;
improt cn.mldn.demoa.A;

public class B extends A {  // 是A不同包的子类
    public void print() {
        System.out.println("A类中的info = " + super.info)
    }
}

定义Test类

package test;
improt cn.mldn.demob.B;

public class Test {
    public static void main(String args[]) {
        new B().print();
    }
}

输出结果:

A类中的info = Hello

B中的print()方法会输出A类中的info属性。
Test类直接去输出A类中的info属性(错误代码)

package test;
improt cn.mldn.demoa.A;

public class Test {
    public static void main(String args[]) {
        A a = new A();
        System.out.println(a.info);
    }
}

编译会出错,由于Test与A类不在同一个包,并且没有继承关系,所以是无法访问protected属性的。

总结

Java的封装性是以private、protected、default三种权限的定义。

更多内容戳这里(整理好的各种文集)

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 1、访问控制权限 java访问控制关键字共有:private default protected public,注...
    谁吃了我的薯条阅读 447评论 0 0
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,673评论 1 114
  • 早上,阳台,认认真真练养生功,妹妹也跟着比划,于是又当回教练,动作马虎不得,各种气感出现。中途她被叫走,后面的几节...
    周湘泉阅读 225评论 0 3