接口和抽象类的区别(详解)
接口和抽象类都有什么区别呢
-
接口:方法不能有实现体(jdk1.8增加default方法和静态方法可以有实现), 抽象类:可以有public,protected,private实现体方法也可以有抽象方法
-
接口:抽象方法必须为public(默认值就为public abstract) 。抽象类:可以有public、default、protected(因为抽象类就是为了被重新所以所以不能用private)
-
一个类可以实现多个接口,但是只能继承一个抽象类
-
接口:可以定义pulbic statuc final (默认值也是该值)。抽象类:无限制
-
抽象类:属于类的抽象,是一种模板设计。接口:属于方法行为的抽象,是一种行为规范