gpt4 book ai didi

Java - 没有类构造函数是不好的做法吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:16 26 4
gpt4 key购买 nike

我想制作一个处理格式化的帮助程序类(即具有删除标点符号和类型之间转换的方法,以及重新格式化名称等)。这似乎不需要任何字段 - 它的唯一目的是让传递的东西转换并返回它们,重新格式化。遗漏构造函数是不好的做法吗?如果是这样,我的构造函数应该做什么?我在看this link并注意到它描述的类缺少构造函数。

最佳答案

Is it bad practice to leave out a constructor?

是的 - 因为除非您指定任何构造函数,否则 Java 编译器将为您提供一个与类本身具有相同可见性的构造函数。

假设你所有的方法都是静态的——除非你想要多态性,否则这似乎是可能的——你应该让你的类final并给它一个private构造函数,这样其他开发人员就不会不要不小心创建您的类的一个实例,而那是毫无意义的。在考虑 API 时,只要我可以消除开发人员做一些愚蠢的事情的能力,我就会这样做 :)

所以像这样:

public final class Helpers {
private Helpers() {
}

public static String formatDate(Date date) {
// etc
}
}

请注意,通过将多态性排除在等式之外,您还消除了为测试等更改此行为的可能性。这可能很好 - 我不相信“永远没有静态” - 但它是值得考虑。

关于Java - 没有类构造函数是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15894910/

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