在Java中抽象类和接口是实现面向对象抽象的两种方式。
抽象类
被abstract修饰的类我们称为抽象类,抽象类有如下几点特点:
1、抽象类只能被子类继承,没有自己的对象。
2、抽象类中可以有普通方法和抽象方法,抽象方法用abstract修饰。
3、抽象类中可以有各种权限的成员变量。
4、含有抽象方法的类一定是抽象类,但是抽象类不一定有抽象方法。
接口
Java中接口用interface定义,接口用于描述行为,只管定义,不管实现,实现流程由实现接口的类来做。接口有如下几点特点:
1、接口中只有抽象方法,默认是public abstract,编译器默认会省略public abstract。
2、接口中的成员变量都是public static final,编译器默认也会省略。
抽象类只能单继承,接口可以多实现。抽象类作为子类模板,用来描述子类的通用特性,而接口是一系列行为的抽象,是一系列抽象方法的集合。