我们都知道protected那里的成员继承(对于未来的程序员,而不是那个类的用户).另一方面,static绝对是用户,因为我们无法覆盖它,...或类似的东西.
那么为什么他们决定在旧的良好的编译时错误中允许这个呢?:
public class MathUtils {
protected static max(int a, int b) {
return a > b ? a : b;
}
}
Run Code Online (Sandbox Code Playgroud)
如果你可以从你真实的实践中给我一个很好的例子,我会很感激,你是如何使用这种方法来允许访问另一个包的子类中的静态成员的?给我一个真实的例子.我不需要太多代码,只需几句解释.谢谢.
另一方面,静态绝对是用户,因为我们无法覆盖它
覆盖不是您可以对方法执行的唯一操作.另一个重要的事情是可以访问它.
声明成员时protected static,它告诉编译器两件事:
当您需要在所有派生类之间共享逻辑或状态时,这非常有用,但是保护您的类的用户不会扩展它的相同逻辑.
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |