相同点: 都可以被继承。都不能被直接实例化。子类必须实现未实现的方法都可以包含方法申明。都遵循里氏替换原则。 区别: 抽象类中可以有构造函数;接口中不能。抽象类只能被单继承,接口可以被继承多个。抽象类中可以有成员变量;接口中没有。