当我需要使用受保护的访问修饰符

Thi*_*pLV 1 java

我的问题是关于"受保护的"访问修饰符.

我知道它的功能,但我不知道什么时候需要使用它.从概念上讲,类中的方法可以划分为:构造函数setters/getters从客户端使用的方法(即其他类)内部方法(从类中的其他方法使用)

das*_*ght 10

你用的protected时候

  • 您的类是为继承而设计的 - 您希望库的用户继承自您正在设计的类.课程经常是abstract.
  • 该类为其派生类提供了必须对其他类不可见的特殊功能 - 您知道派生类必须能够访问本来是私有的信息,或者
  • 派生类必须为基类提供功能 - 有关使用受保护方法的信息,请参阅模板方法模式.

请注意,protected方法与方法类似public,一旦您将它们放入,只要您支持您的库,它们就需要保持不变.与您可以自由删除的私有方法不同,protected方法仍然是您的类的接口的一部分.


Arn*_*lle 8

当您需要执行一些未在公共API中公开但仍需要被子类覆盖的内部内容时使用它.


Pet*_*zki 5

您需要使用受保护的访问修饰符,当您希望后代类看到超类的字段/方法时,但您不希望其他类看到这些。