昨天做个功能,突然想到了用抽象类和接口哪个好。
只用接口可以么,为什么要用抽象类
当然可以,用类+接口的方式完全可以实现抽象类的功能。
抽象类最大的作用是复用,共性的属性或者方法不用重复造轮子。
为什么要实现接口
一个接口可以有多个方法,一个类可以实现多个接口,接口还可以继承接口, 这样扩展性非常强。
抽象类和接口的区别
- 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
- 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
- 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口。