我在内部类中有一个私有方法,它是私有的我想使用SafeVarargs注释.但是,我需要有静态或最终方法.为什么私有方法也必须是最终的?这不是多余的吗?
Met*_*002 16
这是多余的,你提出了一个很好的观点.
我认为最终或静态要求的真正原因是强制该方法无法被覆盖,因此子类不能以使得@SafeVarargs注释对方法的定义无用的方式来篡改数据.
但是,虽然它是多余的,但决策并不是那么糟糕 - 很多时候,程序员会尽可能地使每个方法都保密,然后根据需要慢慢打开课程.如果此方法在私有范围内被标记为final,那么如果必须打开该方法,它仍然可以使用@SafeVarargs注释,只需更改访问级别.如果有意删除了final,你会得到编译时错误,但是如果你已经有了,那么删除私有访问权的人(可能不是你自己,在基于团队的环境中)也不会混淆为什么删除"私有"修饰符突然使代码不再编译.
| 归档时间: |
|
| 查看次数: |
1350 次 |
| 最近记录: |