我的Java项目中有两个类彼此不“相关”(一个继承自Thread,一个是自定义对象。但是,它们都需要使用相同的函数,它需要两个String参数和soem文件写的东西。我最好把这个函数放在哪里?代码重复很难看,但我也不想为这个函数创建一个全新的类。
我觉得我错过了一个非常明显的方法来做到这一点,但我想不出一个简单的方法。
答案 0 :(得分:1)
创建一个Utility
类并将所有常用实用程序方法放入其中。
答案 1 :(得分:1)
听起来像只有静态函数的FileUtils
类的理想候选者。看看SwingUtilities
,看看我在说什么。
答案 2 :(得分:1)
[一个函数],它接受两个String参数并执行soem文件写入东西
正如其他人所建议的那样,您可以将该函数放在一个单独的类中,然后您的现有类就可以访问它了。其他人建议调用类Utility
或类似的东西。我建议不以这种方式命名该类。我的反对是双重的。
Utility
是一个合适的名称,因为该类是其他人使用的。但在这种情况下,该名称描述了该类的使用方式,而不是所做的。类应该按照它们的作用而不是它们的使用方式来命名,因为它们的使用方式可以在不改变它们的情况下改变。考虑到Java有一个string
类,可用于保存名称,描述或文本片段。这个类用“字符串”来做事情;它可能会也可能不会用于名称,因此string
是一个很好的名称,但name
不是。所以我建议给那个班级一个不同的名字。描述它对文件进行操作的东西,或描述文件格式的东西。
答案 3 :(得分:0)
你可以在其中一个类中使函数为static,然后在另一个类中引用静态方法,假设没有使用的变量需要已经实例化对象。
或者,创建另一个类来存储所有静态方法。
答案 4 :(得分:0)
回答问题的第一部分 - 据我所知,在java中不可能有一个独立的函数; ergo - 函数必须进入一个类。
第二部分更有趣 - 实用工具类是个好主意。更好的想法可能是扩展KitsuneYMG所写的内容;让你的班级负责自己的阅读/写作。 然后将读/写操作委托给实用程序类。这允许您的读/写操作独立于其余的文件操作。
只是我的2c(+: