在两个不相关的Java类中使用函数

在两个不相关的Java类中使用函数,java,oop,Java,Oop,我的Java项目中有两个彼此不“相关”的类(一个是从线程继承的,一个是自定义对象。但是,它们都需要使用相同的函数,该函数包含两个字符串参数,并且不会编写soem文件。我最好将该函数放在哪里?代码重复很难看,但我也不想仅为这一个函数创建一个全新的类 我有一种感觉,我在这里缺少一种非常明显的方法,但我想不出一种简单的方法。创建一个实用工具类,并将所有常用的实用工具方法放在其中。创建一个实用工具类,并将所有常用的实用工具方法放在其中。您可以在其中一个类中使函数静态,然后引用另一个中的静态方法,假设使用

我的Java项目中有两个彼此不“相关”的类(一个是从线程继承的,一个是自定义对象。但是,它们都需要使用相同的函数,该函数包含两个字符串参数,并且不会编写soem文件。我最好将该函数放在哪里?代码重复很难看,但我也不想仅为这一个函数创建一个全新的类


我有一种感觉,我在这里缺少一种非常明显的方法,但我想不出一种简单的方法。

创建一个
实用工具
类,并将所有常用的实用工具方法放在其中。

创建一个
实用工具
类,并将所有常用的实用工具方法放在其中。

您可以在其中一个类中使函数静态,然后引用另一个中的静态方法,假设使用的变量不要求对象已经实例化


或者,创建另一个类来存储这样的所有静态方法。

您可以在其中一个类中将函数设置为静态,然后在另一个类中引用静态方法,前提是使用的变量不要求对象已经实例化


或者,创建另一个类来存储所有这样的静态方法。

听起来像是只有静态函数的
FileUtils
类的理想候选。看看
SwingUtilities
,看看我在说什么。

听起来像是只有静态函数的
FileUtils
类的理想候选静态函数。看看
SwingUtilities
,看看我在说什么

[a function],它接受两个字符串参数并执行soem文件写入操作

正如其他人所建议的,您可以将该函数放在一个单独的类中,然后您现有的两个类都可以访问该类。其他人建议调用该类
实用程序
或类似的东西。我建议不要以这种方式命名该类。我的反对意见有两方面

  • 人们会认为程序中的所有代码都是有用的,也就是说,它具有实用性,因此这样的名称不会传递关于类的任何信息
  • <> LI>可能会被认为实用程序> /Cult>是一个合适的名称,因为类是由其他人使用的。但是在这种情况下,名称描述了如何使用类,而不是使用什么。类应该用它们所做的而不是使用它们来命名,因为它们如何使用可以不改变它们所做的改变。一个
    string
    类,可用于保存名称、描述或文本片段。该类使用“字符串”进行操作;它可能用于名称,也可能不用于名称,因此
    string
    是一个很好的名称,但
    name
    不是
所以我建议给这个类取一个不同的名字,它描述了它对文件所做的操作,或者描述了文件的格式

[a function],它接受两个字符串参数并执行soem文件写入操作

正如其他人所建议的,您可以将该函数放在一个单独的类中,然后您现有的两个类都可以访问该类。其他人建议调用该类
实用程序
或类似的东西。我建议不要以这种方式命名该类。我的反对意见有两方面

  • 人们会认为程序中的所有代码都是有用的,也就是说,它具有实用性,因此这样的名称不会传递关于类的任何信息
  • <> LI>可能会被认为实用程序> /Cult>是一个合适的名称,因为类是由其他人使用的。但是在这种情况下,名称描述了如何使用类,而不是使用什么。类应该用它们所做的而不是使用它们来命名,因为它们如何使用可以不改变它们所做的改变。一个
    string
    类,可用于保存名称、描述或文本片段。该类使用“字符串”进行操作;它可能用于名称,也可能不用于名称,因此
    string
    是一个很好的名称,但
    name
    不是

所以我建议给这个类取一个不同的名称。它描述了它对文件的操作类型,或者描述了文件的格式。

为了回答你问题的第一部分,据我所知,在java中不可能有一个独立的函数;因此,函数必须进入一个类

第二部分更有趣-实用程序类是个好主意。更好的办法可能是扩展KitsuneYMG编写的内容;让您的类负责自己的读/写。然后将读/写操作委托给实用程序类。这允许您的读/写操作独立于其他文件操作进行操作


就我的2c(+:

来回答你问题的第一部分——据我所知,在java中不可能有一个独立的函数;因此——函数必须进入一个类

第二部分更有趣-实用程序类是个好主意。更好的办法可能是扩展KitsuneYMG编写的内容;让您的类负责自己的读/写。然后将读/写操作委托给实用程序类。这允许您的读/写操作独立于其他文件操作进行操作


就我的2c(+:

编写一个完整的word实用程序比只编写Util要好,但概念是一样的。人们希望项目中的所有代码都有用,因此都有实用程序,因此命名一个类
实用程序
就像调用一个变量
数据
和一个方法
函数
。信息量不大。编写完整的word实用程序比仅仅使用Util要好,但概念是一样的。人们希望项目中的所有代码都是有用的,因此具有实用程序,因此命名一个类