假设我有一个只包含静态方法和变量的实用程序类。例如:
public abstract final class StringUtils
{
public static final String NEW_LINE = System.getProperty("line.separator");
public static boolean isNotNullOrSpace(final String string)
{
return !(string == null || string.length() < 1 || string.trim().length() < 1);
}
}
在这种情况下,使类既是抽象的又是最终的是有意义的。抽象,因为创建此类的对象将毫无用处,因为所有方法都可以静态访问。Final 因为派生类不能从此类继承任何东西,因为它没有任何非静态成员。
C# 允许对此类类使用静态修饰符。为什么Java不支持这个?