Java 是否存在存储与任何类不特别相关的方法的约定?[爪哇]
我目前正在学习Java,在做一个项目时,我创建了一些方法,这些方法在逻辑上不适合任何给定的类,但在整个项目环境中都很有用 我所拥有的最好的例子是一种方法,它将camelCase世界分割成如下: 拆分骆驼盒->拆分骆驼盒。Java 是否存在存储与任何类不特别相关的方法的约定?[爪哇],java,class,methods,Java,Class,Methods,我目前正在学习Java,在做一个项目时,我创建了一些方法,这些方法在逻辑上不适合任何给定的类,但在整个项目环境中都很有用 我所拥有的最好的例子是一种方法,它将camelCase世界分割成如下: 拆分骆驼盒->拆分骆驼盒。 我曾想过创建一个名为Toolbox的新抽象类并将这些方法存储在那里,但我想知道关于这个主题是否有任何约定或最佳实践。您可以创建您的Toolbox类,然后将其声明为包。之后,您可以在要使用工具箱中的方法的类的开头导入工具箱。当将方法放在现有类中没有意义时,将实用程序类通常命名为S
我曾想过创建一个名为Toolbox的新抽象类并将这些方法存储在那里,但我想知道关于这个主题是否有任何约定或最佳实践。您可以创建您的Toolbox类,然后将其声明为包。之后,您可以在要使用工具箱中的方法的类的开头导入工具箱。当将方法放在现有类中没有意义时,将实用程序类通常命名为SomethingUtils并不少见 它本身并没有什么问题,但如果您发现自己有很多方法或实用程序类,那么您的设计可能会有点偏差,并且您的编程方式比面向对象的方式更程序化
正如在注释中提到的,您并没有将其设置为抽象类。它是一个充满了静态方法的类,完全根据传递给它们的参数工作。正如kayaman sir所说,如果你有太多的实用类和方法,这意味着你的代码更程序化,而不是面向对象 如果你仍然想要一个仅仅用来提供一些实用程序的类,那么你可以在java中有这样一个类,只需要在其中放一些静态方法 此类类的最佳示例之一是java.lang.Math 例如,下面的代码将起作用
class MyUtilityClass
{
private MyUtilityClass()
{
// no object creation will be allowed
}
// make as many static methods you want
}
为什么要使用抽象类?你可以简单地创建一个类工具箱,并将你的方法存储为静态方法在我的推理中,该类只是用于存储在其他类中使用的方法,而不是创建任何新的InstanceNoAbstract类-这是一个坏主意,因为它说它是为扩展而创建的,但它不是。因此,好主意是创建一个包含许多公共静态变量的最终实用程序类methods@juanfran静态方法是您正在寻找的方法,正如您在java.lang.Math classIn中看到的那样。为了扩展其util字符,您可以将类设置为final,并将其构造函数设置为私有。这将强制该类的任何用户只使用现有的静态方法。当然,这样做是完全可以选择的。