是否有任何约定存储与任何类别无关的方法? JAVA]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有任何约定存储与任何类别无关的方法? JAVA]相关的知识,希望对你有一定的参考价值。
我目前正在学习Java,并且在创建项目时,我创建了一些在任何给定类中不适合逻辑但在项目的整个上下文中有用的方法。
我有一个最好的例子是像这样分割camelCase世界的方法:
- splitCamelCase - > Split Camel Case。
我已经考虑过创建一个名为Toolbox的新抽象类并在那里存储这些方法,但我想知道是否有关于这个主题的任何约定或最佳实践。
答案
当将方法放在现有类中没有意义时,实用类(通常称为SomethingUtils
)并不罕见。
它没有任何本质上的错误,但是如果你发现自己有很多方法或实用程序类,那么你的设计可能有点过时,而且你的程序设计比面向对象更方便。
正如评论中所提到的,你不要把它变成一个抽象类。它是一个充满静态方法的类,完全依赖于传递给它们的参数。
另一答案
正如kayaman先生所说,如果你有太多的实用程序类和方法,那就意味着你的代码更具程序性,而不是面向对象。
如果你仍然想要一个只用于提供一些实用程序的类,那么你可以在java中使用这样的类,只需在其中加入一些静态方法即可。
这种类的最好例子之一是java.lang.Math。
例如下面的代码将起作用
class MyUtilityClass
{
private MyUtilityClass()
{
// no object creation will be allowed
}
// make as many static methods you want
}
另一答案
您可以创建ToolBox类,然后将其声明为包。之后,您可以在要使用该ToolBox中的方法的类的开头导入ToolBox。
以上是关于是否有任何约定存储与任何类别无关的方法? JAVA]的主要内容,如果未能解决你的问题,请参考以下文章