zoukankan      html  css  js  c++  java
  • 访问控制符详解

    default (包访问权限 )
    如果类里的成员或者一个外部类不使用任何访问控制符修饰,我们称为包访问权限,default访问控制的成员或外部类可以被相同包下的其他类访问。
    private (当前类访问权限 )
    如果类里的成员使用private访问控制符来修饰,则这些成员只能在当前类的内部被访问。
    protected (子类访问权限 )
    如果类里的成员使用protected访问控制符修饰,那么类里的成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问。
    public (公共访问权限 )

    如果类的成员或者一个外部类使用public访问控制符修饰,那么这个成员或外部类就可以被所有类访问,不管访问类和被访问类是否处于同一个包中,是否具有父子继承关系。 

    访问控制符使用原则

    类里的绝大部分Field都应该使用private修饰,只有一些static修饰的、类似全局变量的Field,才可能考虑使用public修饰。除此之外,有些方法只用于辅助实现该类的其他方法,这些方法称为工具方法,工具方法也应该使用private修饰。 
    如果某个类主要用做其他类的父类,该类里包含的其他大部分方法可能仅希望被其子类重写,而不想被外界直接调用,则应该使用protected修饰这些方法。 
    希望暴露出来给其他类自由调用的方法应该使用public修饰。因此,类的构造器通过使用public修饰,从而允许在其他地方创建该类的实例。因为外部类通常都希望被其他类自由使用,所以大部分外部类都使用public修饰。 
    通过访问控制符的介绍不难发现,访问控制符用于控制一个类的成员是否可以被其他类访问,对于局部变量而言,其作用就是它所在的方法,不可能被其他类访问,因此不能使用访问控制符来修饰。

  • 相关阅读:
    还在使用golang 的map 做Json编码么?
    Golang 性能测试(2) 性能分析
    golang 性能测试 (1) 基准性能测试
    消息队列 NSQ 源码学习笔记 (五)
    消息队列 NSQ 源码学习笔记 (四)
    消息队列 NSQ 源码学习笔记 (三)
    消息队列 NSQ 源码学习笔记 (二)
    消息队列 NSQ 源码学习笔记 (一)
    你不知道的空格
    Supervisor 使用和进阶4 (Event 的使用)
  • 原文地址:https://www.cnblogs.com/t0404/p/10291094.html
Copyright © 2011-2022 走看看