您 可能
不希望它为静态的一个原因是允许它在子类中被覆盖。换句话说,行为可能不取决于对象内的数据,而是取决于对象的确切类型。例如,您可能具有常规的集合类型,其
isReadOnly属性将
false在始终可变的集合,
true始终不可变的集合中返回,并依赖于其他实例变量。
但是,以我的经验来看,这非常罕见-为了清楚起见,通常应明确指定。通常我会做一个不依赖于任何对象状态静态的方法。

您 可能
不希望它为静态的一个原因是允许它在子类中被覆盖。换句话说,行为可能不取决于对象内的数据,而是取决于对象的确切类型。例如,您可能具有常规的集合类型,其
isReadOnly属性将
false在始终可变的集合,
true始终不可变的集合中返回,并依赖于其他实例变量。
但是,以我的经验来看,这非常罕见-为了清楚起见,通常应明确指定。通常我会做一个不依赖于任何对象状态静态的方法。