lei*_*ifg 4 java static private
有时在编写类时,您需要一些辅助方法来处理一些简单的东西(以某种方式更改字符串或进行一些简单的计算).
如果辅助函数足够小(并且任何其他类都不需要),那么在此类中编写辅助方法是有意义的.
现在:假设你不需要访问任何成员变量,那么最好还是制作这个方法private或者private static
以下示例:只实现一个方法,检查字符串是否不null包含foo.
public class SomeClass
...
public void calculate(String inputString) {
...
boolean foo = getFoo(inputString);
}
private (static) boolean getFoo(String inputString) {
return inputString != null && inputString.contains("foo");
}
}
Run Code Online (Sandbox Code Playgroud)
在使方法静态或非静态方面是否有利有弊.是否有一般做和不做?
Jon*_*eet 12
我个人会把这个方法设为静态 - 它更清楚它不依赖于对象的状态.这可能会在线程安全方面产生连锁效应(尽管如果要访问该类型的静态成员,则需要注意这一点).
鉴于它是私有的,您不必担心子类是否要覆盖它.
您可以随时将其设置为非静态 - 我认为唯一的副作用是可能更改序列化ID.(二进制序列化很痛苦.)