- @[TOC](文章目录)
- 接口和抽象类的区别
相同点: 接口和抽象类都可以定义抽象方法、继承时必须重写其中的抽象方法、创建其对象必须通过实现类或子类实现,即为父类的引用指向子类。 不同点: 1.关键字: 接口(interface) 抽象类(abstract) 2.修饰符: 接口只能使用public 抽象类(除private修饰符) 3.构造方法: 接口无构造方法 抽象类有构造方法 4.成员变量: 接口中无成员变量,所有的变量为静态常量同时赋初始值 抽象类中有成员变量,定义常量时可暂时不用赋初始值 5.普通方法: 接口从JDK8开始有默认方法用default修饰、抽象方法无方体、静态方法 抽象类可以有普通方法、(abstract)修饰的抽象方法无方法体、静态方法 6.抽象方法: 接口中的抽象方法不必使用abstract关键字修饰 抽象类中必须使用abstract关键字修饰 7.继承: 接口中可实现多重继承 抽象类中只能单继承



