静态类只能包含静态成员(使用该类创建的所有对象将共享这些成员的同一个副本)。静态类纯粹作为工具方法和字段的一个容器来使用。静态类不能包含任何实例数据或方法。另外,使用new操作符来创建静态类的一个对象是没有意义的。如果坚持这样做,编译器会报错。如果需要执行任何初始化,那么static类可以包含一个默认的构造器,前提是该构造器也被声明为static。其他任何类型的构造器都是非法的,编译器会报错;
比如自己定义一个Math类,其中只包含静态成员,那么应该像下面这样写:
public static class Math{
public static double Sin(double x){...}
public static double Cos(double x){...}
public static double Sqrt(double x){...}
}
注意:
真正的Math类不是这样定义的,他还包含着一些实例方法;