相同点:
(1)都可以被继承
(2)都不能被实例化
(3)都可以包含方法的声明
不同点:
(1)抽象类被子类继承;接口被类实现
(2)抽象类只能被单个类继承;接口可继承接口,并可多继承接口
(3)抽象基类可以定义字段、属性、方法实现;接口只能定义属性、索引器、事件、和方法声明,不能包含字段
(4)抽象类可以做方法声明,也可做方法实现;接口只能做方法声明
(5)具体派生类必须覆盖(override)抽象基类的抽象方法;派生类必须实现接口的所有方法
(6)抽象类是一个不完整的类,需要进一步细化;接口是一个行为规范
(7)抽象类中的虚方法或抽象方法必须用public修饰;接口中的所有成员默认为public,不能有private修饰符(也不能用public进行显示修饰)



