And*_*niy 9 java oop static-methods protected
我protected在搜索我的问题的解决方案时发现了使用修饰符:忽略带有单元的反射词组件ReflectionComparator
在org.unitils.reflectionassert.ReflectionComparatorFactory课堂上有签名的方法:
protected static List<Comparator> getComparatorChain(Set<ReflectionComparatorMode> modes)
但这只是特殊情况.
毕竟我们总是可以扩展这样的任何非final类,并protected使用new public修饰符"覆盖"它的静态方法.说,我们有课A:
public class A {
protected static void test() {
// do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
并希望在另一个包中使用它:
public class UseA {
private static class MyA extends A {
public static void test() {
A.test();
}
}
void useA() {
// A.test(); compile error, sure
MyA.test();
}
}
Run Code Online (Sandbox Code Playgroud)
当某些static方法被宣布为时,我将我的问题集中在一般情况上protected.我不是在询问非静态字段或方法,因为在某些情况下,类可以具有私有构造函数或具有许多特殊参数的非常复杂的构造函数.但是如果整个班级不是这样的"隐藏"静态方法的目的是什么final?这种用法是错误还是只是非常弱的"保护"?
| 归档时间: |
|
| 查看次数: |
1862 次 |
| 最近记录: |