相同:
1. 都不能被实例化,都可以通过继承实现其抽象方法
2. 是抽象编程的技术基础
不同:
多继承。接口可以多继承,抽象类不可以
字段。抽象类可以包含字段,接口不可以
具体实现的成员。抽象类可以有具体实现的成员,接口不能
struct。接口可用与值类型,Struct可以继承接口,抽象类不能
can-do vs is-a。接口着重与can-do的关系,抽象类着重IS-A 的关系
成员能否被public 等修饰。接口的所有成员都不能用public,private 等修饰符修饰 ,抽象类可以。