extends | implements |
---|---|
extends是子类继承父类的关键字 | implements是实现接口的关键字 |
意义:多个类部分功能相同,则抽象出一个类来存放相同部分提高代码简洁性,其他类要用到这部分功能时可以继承这个类,这个父类最大限度抽取了共性,这个抽象类除了被继承没有任何意义 | 意义:如果多个类处理的目标相同,但方法不同。则定义一个接口,也就是一种协议,目的在建立一种类与类间的关联标准,类各自用具体方法来实现同一功能 |
格式:class A extends B | 格式:class A implements C,D,E |
继承某个类(单继承) | 实现一个或多个接口(一种变相多继承) |
子类可使用父类属性、方法,也可有选择地重写父类方法(但父类中的抽象方法都要重写) | 接口方法一般是抽象方法(没有方法体),必须重写接口内所有抽象方法才能用 |
一个父类可以有多个子类,但一个子类只有唯一的直接父类 | 多个无关的类可以实现同一接口,一个类也可以实现多个无关的类 |
非抽象类可以实例化,抽象类需要在子类覆盖重写后才能实例化 | 接口不能被实例化,需要通过实现类使用 |
以上是我一个初学者的粗浅整理,有不对的地方还请不吝指正!