扩展一个方法都是静态的Java类是否有意义?
public class Parent{
public static String child1(long numb){...};
public static MyData child2(String str){...};
...
}
public class More extends Parent{...}
答案 0 :(得分:0)
我认为下面提到的很少:
答案 1 :(得分:0)
仅具有静态成员函数的类通常是实用程序类,即它们为在其他相关对象上操作的函数提供分组。例如,Files
类提供了处理File
对象的功能,而apache公共ArrayUtils
提供了使用T[]
的工具。
我在扩展实用程序类时遇到的唯一明智的情况是减少与第三方实用程序类的耦合。 (在我看来,这是一个相对较弱的原因)。
假设您使用了一些第三方Foo
实用程序
public class YourFooUtilities {
public static void makeAFooSing(Foo f) {...}
}
但是你还需要一些内部Foo
实用程序,然后你可以这样做:
public class MyFooUtilities extends YourFooUtilities {
public static void makeAFooDance(Foo f) { ... }
public static void makeAFooDanceAndSing(Foo f) {
makeAFooDance(f);
makeAFooSing(f);
}
}
然后您对YourFooUtilities
的使用始终可以通过MyFooUtilites
,提供一个抽象层
static import MyFooUtilities.*;
public static class MainClass {
void doSomething() {
Foo f = new Foo();
makeFooDance(f);
makeFooSing(f);
makeAFooDanceAndSing(f);
}
}
这会使您的代码(稍微)与第三方代码绑定得不那么紧密。