抽象类(abstract):(含有抽象方法的类,方法申明有abstract修饰)
- 抽象类不能和final同时使用,因为final修饰的是不能继承的
- 抽象方法只能为public或者protected,由于继承的限制
- 抽象类无法用于创建对象
接口(interface):
- 接口中的的属性只能为常量,必须是public static final
- 接口中的方法默认是public abstract,所有方法只能声明,不能有实现体
- 接口中的所有方法必须都实现
分析抽象类和接口的区别从三个角度分析:属性、方法、本身特性
抽象类和接口的区别:
- 抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
- 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
- 接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口。