关于java:哪个类成员应该有protected modifier?

Which class members should have protected modifier?

本问题已经有最佳答案,请猛点这里访问。

我知道我是protectedJava关键字,它是一类可以访问,但不包收藏指正,世界。

我的问题是,当protected我应该使用?


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


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

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

  • 这些方法不需要公开
  • 派生类可能在实现者的包中,而不是在框架1中。