一、Vitual方法和普通方法区别为:继承其的子类能够用override/new在重载此方法,也能够不重载其方法,有方法体(能够写语句),override修饰则调用子类方法
二、abstract类中抽象方法无方法体(只有名称)、普通方法(静态方法,无修饰的方法,Virtual方法)能够有方法体,其余类的基类,继承其的子类必须实现全部抽象方法
三、abstract类没法实例化,能够继承接口
四、抽象方法是隐式的虚方法,能够被基类修饰为virtual方法
五、抽象方法只能在抽象类中,能够被override,不能够用new
七、Override方法必须和其父类方法具备相同的签名(函数名、返回值、参数列、访问权限 如:public)
八、Override方法没法重写非virtual方法和static修饰的方法
九、Override方法不能用此修饰符:new static virtual abstract
十、sealed类(密封类)没法被继承 sealed方法必须和override连起来修饰(如:sealed protected override void F(){}),实现sealed方法类的父类必须实现了此方法(存在),密封方法其自己没法再任何派生类中被重写
十一、new 若是父类方法里面是new 子类必须用new修饰,若是子类是private修饰,则直接调用父类的new方法,不然调用子类new方法,子类new方法能够重写父类virtual方法,new方法,override方法,不能够写抽象方法
十二、只有override方法才能够用sealed修饰 //只有重写方法才能密封ide