以下的话是我从网上找到的 看看能不能帮到你 我现在也在纠结面向对象这一块
当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部,既不可能从 T 派生出新的类,也不可能直接创建 T 的任何实例。因此,如果欲设计一个类,它只包含静态成员而且有意使它不能被实例化,则只需给它添加一个空的私有实例构造函数,即可达到目的。例如:
public class Trig
{
private Trig() {} // Prevent instantiation
public const double PI = 3.14159265358979323846;
public static double Sin(double x) {...}
public static double Cos(double x) {...}
public static double Tan(double x) {...}
}
Trig 类用于将相关的方法和常数组合在一起,但是它不能被实例化。因此它声明了单个空的私有实例构造函数。若要取消默认构造函数的自动生成,必须至少声明一个实例构造函数。 |