|
|
1
18
从功能角度、java复杂性或运行时角度来看,这不是一项任务。然而,它的编码标准被更广泛的社区所接受。甚至很多静态代码审查工具,如 checkstyle 许多其他人检查此类课程是否遵守了这一规定。 为什么遵循这一惯例,在其他答案中已经解释过,甚至OP也涵盖了这一点。 我想进一步解释一下,大多数实用程序类都具有独立于对象实例的方法/函数。这些是一种聚合函数。因为它们只依赖于返回值的参数,而与实用程序类的类变量无关。因此,这些函数/方法大多保持静态。因此,实用程序类是所有静态方法的理想类。 因此,任何调用这些方法的程序员都不需要实例化这个类。然而,一些机器人程序员(可能没有太多经验或兴趣)会倾向于在调用其方法之前创建他们认为需要的对象。为了避免创建对象,我们有三个选项:-
现在,如果有人想为这些实用程序类添加一些功能的新方法,他不需要扩展它,他可以添加新方法,因为每个方法都是独立的,而且不可能破坏其他功能。因此,无需重写它。而且你也不打算灌输,所以需要对它进行子类化。最好标记为最终。 总之,创建实用程序类的对象没有意义。因此,构造函数应该是私有的。你永远不想改写它,所以把它标记为最终。 |
|
2
9
这不是必要的,但很方便。实用程序类只是相关函数的命名空间持有者,并不意味着要实例化或子类化。因此,防止实例化和扩展会向类的用户发送正确的消息。 |
|
|
3
0
Java语言和Java运行时之间有一个重要的区别。
当java类被编译为字节码时,没有访问限制的概念,
大多数这样启用的优化不再相关,因为jvm现在将相同的优化应用于所有在运行时为单态的类,而这些总是最重要的。 |
|
|
4
-1
默认情况下,此类类通常用于聚合执行不同操作的函数。在这种情况下,我们不需要创建新对象 |
|
|
metrallador10 · 哪种代码更好?效率与代码可读性 2 年前 |
|
|
Justin Xu · 使用return if语句进行重构验证 3 年前 |
|
|
Cino · 如何以体面的方式处理Python异常? 3 年前 |
|
|
SAI BENDE · 如何在多个html文件中使用单个导航栏 3 年前 |
|
|
fstab · 对正常控制流程使用例外情况是一种不鼓励还是不鼓励的做法? 13 年前 |
|
|
SwampYeti · 在CSS中拉伸小背景图像 13 年前 |