我正在浏览java类,其中我发现所有方法都是静态的,我想知道什么时候有需求或者当我们必须在所有方法前面加上static时加上条件。是任何一种设计模式..?
答案 0 :(得分:4)
这通常用于实用程序类。想想例如Math类。您不需要对象的实例来计算2个数字的最小值,因此Math.min
是静态方法是有道理的。
然而,过度使用静态方法/字段is not necessarily a good design practice。
答案 1 :(得分:1)
确切地说:实用程序模式
答案 2 :(得分:0)
帮助程序类通常只提供静态方法。这些类提供的某些方法不仅仅针对一种对象,而是可以在整个项目中共享。例如,MathHelper可以定义一个计算浮点值数组平均值的方法,另一个用于计算2个点之间的距离等等。
答案 3 :(得分:0)
具有所有静态方法的类用于以下目的:
1)复制自Joshua Bloch Effective Java
接口不能有静态方法,所以按惯例,静态工厂方法 名为Type的接口放在名为Types的不可实例化的类(Item 4)中。 例如,Java Collections Framework有三十二个方便 其集合接口的实现,提供不可修改的集合, 同步集合等。几乎所有这些实现都是 通过静态工厂方法在一个不可实例化的类(java.util.Collections)中导出。 返回的对象的类都是非公共的。
2)@tgoossens建议的实用模式