大型功能应该在什么时候保持静态?

ali*_*ind -3 java optimization performance

当函数变得中等大时,我通常将其更改为静态.例如,如果一个类toString()变得很大,我通常将其更改为

public String toString()  {
   return  ClassName.toString(this);
}

private static final String toString(ClassName c_n)  {
    //.........
}
Run Code Online (Sandbox Code Playgroud)

如果功能不是太大,这样做是否有点过分?


编辑

我在这里被大肆击倒.:)

我理解一般应该如何使用静态修饰符(对于单例,对于与特定实例无关的东西,对于效用函数).我从优化的角度问这个问题:为了避免大型函数的字节代码在内存中复制,对于每个类的实例.我显然错了它的工作原理.

Abi*_*san 5

根据函数的长度使函数静态是完全错误的.静态变量/方法属于类,而不属于实例.

因此,如果实例之间存在共同的功能,而不依赖于任何实例,则它们可以是静态的.

在这里,你已经做了toString()静态.但是,这种方法应该描述一个实例.将其设为静态将导致容易出错的结果.

调用这个方法是否有意义,即使还没有构造任何对象?"如果是这样,它肯定是静态的.否则,那应该是实例方法