Java 在static中声明helper类方法的原因是什么

Java 在static中声明helper类方法的原因是什么,java,Java,为什么所有的助手类或实用程序类都是在静态上下文中声明的 不是每次都创建类的instanceof只是为了方便吗 静电会严重影响表演吗 例如: DateHelper.getCurrentDate(); 不创建它们的实例。您还可以让它们遵循,因为它们不限于状态,它们有一个纯无状态的单一功能。例如Math.abs(双a),它接受双参数并返回绝对值。就这么简单。所以你不必做类似的事情 Math m=new Math(); m.abs(12.33); 每次执行一个简单的绝对值计算(仅取决于其参数)时,使

为什么所有的助手类或实用程序类都是在静态上下文中声明的

不是每次都创建类的instanceof只是为了方便吗

静电会严重影响表演吗

例如:

DateHelper.getCurrentDate();

不创建它们的实例。您还可以让它们遵循

,因为它们不限于状态,它们有一个纯无状态的单一功能。例如
Math.abs(双a)
,它接受双参数并返回绝对值。就这么简单。所以你不必做类似的事情

Math m=new Math();
m.abs(12.33);
每次执行一个简单的绝对值计算(仅取决于其参数)时,使用static使调用实用程序方法变得简单


编辑:-要添加使用静态方法不会影响性能。只有当方法是静态同步的,并且多个线程想要同时访问它,而不是通过线程在不同的实例中访问同一个方法(在非静态上下文中),才会出现延迟。但是大多数实用方法在功能上都是原子的,所以使它们同步是没有意义的。

原因之一:因为它们是无状态的。相反,静态不会对性能产生有害影响。因为不需要创建实例,所以效率更高。静态通常不会造成性能差异。在特定的情况下,这可能非常重要。这更像是一种设计。。正如Hovercroft所指出的,没有必要将状态保持在这里。@Kayaman你字面上说的“静态不会有害地影响性能,相反”。在许多情况下,
static
会损害性能(许多情况下它会帮助性能),而不会产生任何问题。这种事再也不会发生了