gpt4 book ai didi

java - 将类设置为 util 的最佳方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:16 25 4
gpt4 key购买 nike

我有一个必须作为 util 工作的类。我不需要它的实例,它包含的所有内容都是 static 成员和 static 函数。那么最好的方法是什么?使用 private 构造函数将其设为 final 作为 java 中的 Math 类,或者仅将其构造函数设为 private 而不将其设为 最终 ?

最佳答案

private 构造函数就足够了,不需要标记类 final,通过私有(private)构造函数我们不能子类化它

如果您将构造函数设为私有(private),您仍然可以使用反射访问它。

更好的方法是抛出 AssertionError

public class Util {    
private Util() {
throw new AssertionError("Can't instantiate");
}
// static methods
}

下面的代码是实例化私有(private)构造函数

public class Test {
public static void main(String[] args) {
try {
Constructor<Util> utilC = Util.class.getDeclaredConstructor();
utilC.setAccessible(true);
Util u = utilC.newInstance(); // instance
} catch (Exception e) {
// exception handling
}
}
}

关于java - 将类设置为 util 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38364863/

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