关于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个构造函数的。

转载于:https://www.cnblogs.com/sumbud/p/5109591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值