静态类: 类声明为static
静态类 只有一个静态构造函数(静态类的静态构造函数不会执行),不可以有实例构造函数
静态类 不能被实例化(不能通过new创建实例)
静态类 内部成员,必须是 静态成员/只读const变量
静态类 无法作为父类
public static class MyClass2
{
//const:在类内声明的const变量,外部访问只能通过class类名.进行访问;只能在创建变量时初始化值;某种程度,const变量不可变值
public const int myValue = 20;
//静态成员变量
public static int myValue2;
//静态构造函数不需要声明public
static MyClass2()
{
myValue2 = 10;
}
//静态类方法也必须是静态方法
public static void MyFunction()
{
//myValue2 = 20; //会出错.赋值初始化只能在构造函数中或创建变量时初始化.
}
}
抽象类:类声明为abstract
抽象类 不能被实例化(不能通过new创建实例)
抽象类 抽象类可作为父类被继承
抽象类 抽象类的静态构造函数只执行一次,其他构造函数可多次执行
抽象类 抽象函数内若方法声明为abstract,则不能包含函数方法体,子类必须override抽象类中abstract方法
应用:抽象类是提炼出一些类共有的属性或函数接口的组织,为子类提供设计思想,配合多态多用于代码架构设计
密封类 类声明为sealed
密封类 不可作为父类被继承,可以作为子类继承普通类/抽象类/接口
密封类 类内成员函数方法,不能密封