接口和抽象类的区别
1.接口用于规范, 抽象类用于共性;
2.抽象类是类,所以只能单继承,而接口可以一次实现多个;
3.接口成员只能是公有的(public),但抽象类的成员可以是public、private、protected等;
4.接口中不能有字段、构造函数、析构函数、静态构造函数;
5.在抽象类中加入了一个方法,它的子类就拥有了这个方法,如果在接口中加入一个方法,那么实现此接口的类需要重写;
6.抽象类可以提供某些方法的部分实现,接口不可以。抽象类的实例是它的子类给的,接口的实例是实现它接口的类给出的;
7.接口中只能声明方法、属性、事件、索引器,而抽象类中可以有方法的实现,还可以定义非静态的类变量。