为什么Java中允许使用受保护的静态?
我们都知道,为什么Java中允许使用受保护的静态?,java,oop,Java,Oop,我们都知道,为继承而保护的成员(用于未来的程序员,而不是该类的用户)。另一方面,static肯定是针对用户的,因为我们无法覆盖它,……或者类似的东西 那么,为什么他们决定允许在旧的良好编译时错误上使用这种方法呢 public class MathUtils { protected static max(int a, int b) { return a > b ? a : b; } } 对我的问题投反对票的家伙们,如果你们能给我一个真实的野生实践的好例子
为继承而保护的
成员(用于未来的程序员,而不是该类的用户)。另一方面,static
肯定是针对用户的,因为我们无法覆盖它,……或者类似的东西
那么,为什么他们决定允许在旧的良好编译时错误上使用这种方法呢
public class MathUtils {
protected static max(int a, int b) {
return a > b ? a : b;
}
}
对我的问题投反对票的家伙们,如果你们能给我一个真实的野生实践的好例子,我将不胜感激,你们是如何使用这种方法来允许访问另一个包的子类中的静态成员的?给我举个真实的例子。我不需要太多的代码,只需要几句解释。谢谢
另一方面,static绝对适合用户,因为我们无法覆盖它
重写不是您可以对方法执行的唯一操作。另一件重要的事情是获得它
当您声明一个成员时,它告诉编译器两件事:
- 从您的类派生的所有类都将共享此成员,并且
- 包之外唯一被授予访问此成员权限的类是从类派生的类