哪些类成员应该有保护修饰符?

时间:2014-11-30 21:17:59

标签: java protected

我知道Java protected关键字是什么,它可以被类,包,子类访问,但不能访问世界。

我的问题是,我应该何时使用protected

2 个答案:

答案 0 :(得分:3)

在这种情况下,当您希望元素可以被类,包,子类访问而不是世界时,您应该使用protected。这非常有用,如果你让程序为大量其他程序员而且你不希望它们改变你的变量,但是你希望能够创建能够做到这一点的子类。

答案 1 :(得分:2)

您在一个有意用作基类的类中使用protected,并且您希望从派生类访问某些方法或属性,即使它们不在同一个包中且不公开它们。

它通常用于框架中。通常有一个接口定义公共API,以及一个旨在派生的基类(通常是抽象的)。在派生类中,overriden方法可以使用一些受保护的方法和/或属性。那样:

  • 这些方法无需公开
  • 派生类可能不在框架一中的实现者包中。