相同点:
1. 抽象类子类和接口子类都要实现抽象类和接口的抽象方法,除非是抽象类!
2. 抽象类和接口都不能实例化对象
3. 抽象类和接口都不能用final修饰
不同点:
1.抽象类是class修饰,它仍然是类,接口是inteface修饰,它不是类
2.接口可以多继承,抽象类单继承
3.接口的属性都public static final修饰,抽象类属性任何修饰
4.接口中只能定义抽象方法,或者定义default和static修饰的具体方法抽象类既可以定义抽象方法,也可以直接定义具体方法
5.抽象类有构造函数,代码块,静态代码块,接口都没有
6.实现类可以同时实现多个接口,子类只能直接继承一个父类
从设计层面来说,抽象是对类的抽象,是一种模板设计(抽象类型),接口是行为的抽象,是一种行为的规范(抽象功能)。