我是 Java 新手 我想为自己的目的编写 util 类,例如 FileUtil,DBUtil,...
但是有些人把util类中的所有方法都写成静态方法
class FileUtil{
public static File openFile(String path){
...
}
public static File readFile(String path){
...
}
...
}
还有一些将 util 类编写为单例类,并将方法编写为 public
class FileUtil{
private FileUtil(){}
public FileUtil getInstance(){
...
}
public File openFile(String path){
...
}
public File readFile(String path){
...
}
...
}
我想知道在内存分配方面哪种方法更好 提前致谢
最佳答案
永远不要编写单例。如果你确实想要静态字段(不想要),那么就写static
。对于(单一实现)实用程序方法,在客户端上强制使用额外的对象是没有意义的。
看看 Runtime
与 System
造成的困惑,尽管它们本质上是相同的。
传统上,实用程序类被编写为具有静态方法的类。可以添加抛出异常的私有(private)构造函数来防止添加默认构造函数,但会增加代码的额外困惑(尽管减少了文档)。添加不必要的 final
也很常见。
单元素枚举在单例中很流行(不要写单例)。使用相同参数的实用程序类应该是无元素枚举,尽管这并不流行,没有明显的原因。单元素枚举和无元素枚举都向类添加了无意义的方法。
如果您确实想要简洁的代码,请使用接口(interface)。您可以避免每次都编写 public
,并且常量可以省略 public static
。这显然不是很受欢迎,因为客户端有可能通过实现该接口(interface)来破坏自己的代码。请参阅“Swing ”。
关于java - 编写 Util 类的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53539823/