我有一个只有静态方法的类。班级本身也应该是静态的吗?这有关系吗?
答案 0 :(得分:6)
重要吗?
使类静态可确保在用户尝试执行此操作时,无法通过生成编译器错误来实例化它。如果仅由静态成员组成的类根本不打算实例化,则没有理由不将其设置为静态。您可以选择不这样做,但是这样的类的实例不会非常有用,并且创建这些实例的用户将会非常困惑。
另一方面,如果你打算创建这个类的实例,但是你希望派生类实现自己的实例成员,那么这个类很可能是抽象的,而不是静态的(也许那些实例成员应该是通过抽象定义或界面预先说明。
答案 1 :(得分:2)
一般来说:是的。
您可以通过创建类static
来阻止程序员创建某个类的对象实例。如果这是你想要的,那就去做吧。这可以通过显示(其他同事等)该类不打算实例化来防止错误。
public static class A
{
// Some static member
}
A a = new A(); // Compilation error