1.接口与抽象类的介绍
接口 | 抽象类 | |
关键字 | interface | abstract |
继承关系 | 接口之间多继承并不可实现 | 单继承 |
声明方法 | 所有方法皆为抽象方法,若实现接口,需实现全部方法 | 可以有抽象方法,也可以有非抽象方法,若继承抽象类,仅需重写抽象方法 |
2.接口与抽象类之间互相使用
是否允许 | 描述 | |
接口继承接口 | 允许 | 接口可以多继承接口,使用时实现所有接口即可 |
接口继承抽象类 | 不允许 | 由于接口中必须全部为抽象方法,但抽象类不一定全部为抽象方法,所以不可以继承 |
抽象类继承抽象类 | 允许 | 抽象类之间单继承 |
普通类继承已经继承了抽象类的抽象类 | 允许 | 普通类重写所有父类的方法即可 |
抽象类实现接口 | 允许 | 抽象类可以实现接口, |
3.接口与抽象类声明方法及变量
1.接口中声明的方法不可以有方法体,全部为抽象方法,在实现类中必须要全部实现,在接口中声明的变量全部为常量不可修改。
2.抽象类中声明的方法,可以为抽象方法,也可以为普通方法,在使用抽象类的时候只需重写抽象方法即可。