静态类
使用static修饰的类即为静态类
1.由于静态类是使用static修饰的所有类的内存在编译阶段就已经分配好了一份且是唯一的一份,
所以静态类是不允许创建实例的,因此在静态类中的所有成员都必须是静态的,但是在普通类中我们可以使用static来修饰一个函数即静态函数,那么我们可以使用static修饰一个普通类的构造函数吗?答案是肯定的,使用static修饰一个普通类的构造函数是C#中特有的,静态构造函数不能带有参数与访问权限修饰符,同时一个类只能有一个静态构造函数,并且不能被显式的调用
2.静态类的内存存放在静态全局区,静态全局区的内存是在整个程序结束时释放的,如果我们使用一个类来继承一个静态类,那么派生类被释放时会调用基类的析构函数,则会提前释放静态的内存,这种情况是不被允许的,因此静态类不能被继承
3.静态类中的构造函数不能使用方向权限符修饰也不能有参数
static class C
{
static int num; //成员必须为静态
static C() //不能添加访问权限修饰符 与参数否则报错
{
}
public static void Test()
{
Console.WriteLine("Test");
}
}
//class D:C 静态类不能被继承
// {
//}
class D