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个构造函数的。
  • 相关阅读:
    SoapUI开源版简单定制报告1
    python json模块 字典 输出中文
    Django文件上传机制用法详解(转)
    选择排序
    插入排序
    Python单元测试框架 unittest
    Design Pattern —— Prototype /Template Method/Iterator/Composite/Bridge
    Design Pattern ——Factory Method&Abstract Factory
    Design Pattern ——Builder
    JAVA泛型那些事儿
  • 原文地址:https://www.cnblogs.com/sumbud/p/5109591.html
Copyright © 2011-2022 走看看