zoukankan      html  css  js  c++  java
  • 关于protected的理解

      protected BaseEnum(int id, String name) {               
                    this(id, name, true) ;          
            }

    1、在定义的时候 什么场景下用protected?

    ANS:protected 的可见地方是这个class内,和它的子类所以一般需要让子类能修改的方法,变成protected

    举个例子:
    class Animal {  private void eat(){ } }
    所有的动物都能吃,但是如果private的话,Animal的子类就无法扩展了。
    所以一般定义成class Animal {  protected void eat(){ } },那么animal的子类可以扩展成各种吃法。当然protected还是属于内部方法,不像public那样可以被别的类调用。这个主要为了实现信息隐藏。
    一般这么定义class Animal {  protected void digest(){}    public void eat(){}  }
    digest就是消化啦,消化不需要被别人调用的,属于内部方法,但是各种动物猫狗人消化方式不一样。但是eat应该是个公用方法,可以被别人调用。
     
    this()是调用自己这个类的构造函数,对这个构造函数重载了一个三个参数的构造函数。2个参数的构造函数调用三个参数的构造函数,这个情景一般是第三个参数大部分情况下都不需要传,用默认值true就可以。
    所以为了用起来简单,大家可以尽可能用2个参数的那个构造函数,当然高阶用户可以使用3个构造函数的。
  • 相关阅读:
    【洛谷P1962】斐波那契数列
    【洛谷P3390】【模板】矩阵快速幂
    【洛谷P3070】[USACO13JAN]岛游记Island Travels
    【NOIp模拟赛】antipalindrome
    【洛谷P3930】SAC E#1
    【洛谷P3928】SAC E#1
    【洛谷P3927】SAC E#1
    【NOIp模拟赛】binary
    【NOIp模拟赛】value
    【洛谷P2341】[HAOI2006]受欢迎的牛
  • 原文地址:https://www.cnblogs.com/sumbud/p/5109591.html
Copyright © 2011-2022 走看看