gpt4 book ai didi

java @SafeVarargs 为什么私有(private)方法需要是最终的

转载 作者:IT老高 更新时间:2023-10-28 20:29:24 26 4
gpt4 key购买 nike

我在一个私有(private)的内部类中有一个私有(private)方法,我想使用 SafeVarargs 注释。但是,我需要有一个静态或 final方法。为什么私有(private)方法也需要是最终的?这不是多余的吗?

最佳答案

这是多余的,你提出了一个很好的观点。

我认为要求 final 或 static 的真正原因是强制该方法不能被覆盖,因此子类不能以使 @SafeVarargs 注释在定义上无用的方式篡改数据方法。

但是,虽然它是多余的,但这并不是一个糟糕的决定——很多时候,程序员会尽可能地将每个方法设为私有(private),然后根据需要慢慢打开类。如果此方法在私有(private)范围内被标记为 final,那么如果必须打开该方法,它仍然可以使用 @SafeVarargs 注释,只需更改访问级别。如果 final 被故意删除,你会得到编译时错误,但如果你已经拥有它,那么删除私有(private)访问的人(可能不是你自己,在基于团队的环境中)不会对为什么感到困惑删除“private”修饰符突然使代码不再编译。

关于java @SafeVarargs 为什么私有(private)方法需要是最终的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com