static: 静态修饰符
1.使用static修饰符声明属于类型本身而不是属于特定对象的静态成员
2.如果使用static修饰类,则他的所有成员都必须为静态成员
3.使用static修饰的函数,只需要通过类型名称来引用它,不能通过实例来引用静态成员函数
readonly:只读访问修饰符
1.被readonly修饰的属性只能读取,不能更改属性值
public:共有访问修饰符
1.公共访问是允许最高的访问级别,能够在一个类中,通过实例化另一个类,然后访问它的成员
protected:成员访问修饰符
1.实例化派生类,能够通过实例化的派生类访问到基类的成员
private:私有访问修饰符
1.在别的类中,只能访问共有成员(返回该类中的私有成员)
abstract:抽象修饰符
1.继承的时候,如果子类想重写父类的方法可以使用override方法,如果子类还想使用父类的方法,则在子类中可以使用base方法,如果子类不需要调用父类则用abstract抽象方法。
2.如果里面有抽象方法的类则这个类必须是抽象类。
3.子类中可以用base方法调用父类中的方法 也可以用this调用 区别:一个调用的是父类的方法,一个调用的是子类自己的方法
4.如果父类选择的是abstract抽象方法 则子类同方法必须重写 如果是virtual虚方法 则子类中同方法未必需要重写
5.抽象类不能被new(实例化),如果父类是抽象类,则子类必须也是抽象类
6.子类能重写父类abstract和virtual方法 孙子类还可以重写override类重写
7.如果父类是virtual虚方法 则必须要有实现 哪怕就是空的{}方法,以便子类重写 但如果父类是abstract抽象方法 则未必需要方法的实现 可以没有空括号
sealed:不允许继承的修饰符
1.不允许别的类继承该类
interface:接口
1.相当于没有方法实现的抽象类,注意:在接口中不能写public属性,直接例如:void play(),接口不能定义字段
const:常数修饰符
1.用来修饰声明的的常数,不可被修改
internal:内部访问修饰符
1.只有在同一个程序集的文件中,内部类型或成员才是可被访问的