专栏首页日常分享Java 访问权限控制 小结

Java 访问权限控制 小结

总所周知,Java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。

访问权限控制的等级,从最大权限到最小权限依次为:publicprotected包访问权限(没有关键词)和 private 。

对于类(Class)

  类既不可以是private的(这样会使得除该类之外,其他任何类都不可以访问它),也不可以是protected的。

  所以对于类的访问权限,仅有两个选择:包访问权限public 。

  •   public 类可以在其他包中调用
  • 包访问权限 类只能在该包里调用。

对于方法(Method)以及变量

访问权限修饰

类内部调用

同包下的外部类调用

不同包下的外部类调用

继承调用

public

protected

包访问权限

private

注:不同包下的调用必须建立在类的访问权限必须为 public 。

接口开放方法的控制

直接使用继承方法,可以获得父类的所有方法,则将父类所有的方法都暴露给了用户,如果想要控制开放的方法可以采用一种 “ 代理 ” 的做法来实现:

  例如现在有一个Class Two,其有A、B、C、D四种方法。

public class Two {
    public void A(){
        
    }
    public void B(){
        
    }
    public void C(){
        
    }
    public void D(){
        
    }
}

  如果我们只想给用户提供A、B、C三种方法,则可以使用这种方法来实现:

public class One {
    private Two two;

    public void A() {
        two.A();
    }

    public void B() {
        two.B();
    }

    public void C() {
        two.C();
    }
}

  这种代理的方法,Idea可以自动帮助你生成。

  (1)写上你要代理的类,如上写的为: private Two two.

  (2)使用Generate -->  Delegates Method 即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 线程池的实现

            任务接口:每个任务必须实现的接口,主要用来规定任务的入口、任务执行完后的收尾工作、任务的执行状态等。 工作线程通过该接口调度任务的执行。

    Rekent
  • Spring 学习笔记(六)—— AOP的简单理解

      核心关注点时业务处理的主要流程,而横切关注点是与核心业务无关但更为通用的业务。

    Rekent
  • MyBatis 基本构成与框架搭建

            根据配置信息(eg:mybatis-config.xml)或者代码来生成SqlSessionFactory。

    Rekent
  • Spring Boot 2.X(十八):集成 Spring Security-登录认证和权限控制

    在企业项目开发中,对系统的安全和权限控制往往是必需的,常见的安全框架有 Spring Security、Apache Shiro 等。本文主要简单介绍一下 Sp...

    朝雾轻寒
  • 自定义注解与常用设计模式

    注解分为:内置注解,自定义注解。内置注解就是JDK 自带的,而自定义注解则是自己定义的比如许多框架(spring) 用到的

    斯文的程序
  • 设计模式学习 - 工厂模式

    根据不同的对象,提供不同的工厂,然后由客户端来选择对应的工厂。这也是与简单工厂模式的不同的地方。

    许杨淼淼
  • Java基础-day11-接口;多态案例练习

    Java基础-day11-接口&多态案例练习 题目要求1(多态): 定义家类 方法:饲养动物 动物类: 属性:年龄、姓名 方法:吃饭、睡觉 猫类、狗类、猪类均为...

    Java帮帮
  • ASP.NET Web API中的依赖注入什么是依赖注入ASP.NET Web API依赖解析器使用Unity解析依赖配置依赖解析

    什么是依赖注入     依赖,就是一个对象需要的另一个对象,比如说,这是我们通常定义的一个用来处理数据访问的存储,让我们用一个例子来解释,首先,定义一个领域模型...

    小白哥哥
  • 第76节:Java中的基础知识

    设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat

    达达前端
  • 设计模式-里氏替换

    先来看个最正宗的定义 如果对每一个类型为S的对象o1,都有类型为T的对 象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变 ...

    yiduwangkai

扫码关注云+社区

领取腾讯云代金券