继承
如果多个类的某个部分功能相同,那么可以抽象出一个类,把他们的相同部分都放到父类里,让他们都继承这个类。
实现
如果多个类处理的目标是一样的,但是处理的方法,方式不同,那么就定义一个接口,也就是一个标准,让他们都实现这个接口,各自实现自己具体的处理方法。
区别
继承指的是一个类继承另外的一个类的功能,并可以增加它自己的新功能的能力。所以继承的根本原因是因为要复用。而实现的根本原因是要定义一个标准。另外在接口中只能定义全局常量(static final)和无实现的方法(Java8以后可以有default方法),而在继承中可以定义属性方法,变量和常量等。
多继承问题
Java中支持一个类同时实现多个接口,但是不支持同时继承多个类。但是,在Java8中支持了默认函数之后,“Java不支持多继承”就不是那么的绝对了。虽然我们还是无法使用extends同时继承多个类,但是因为有了默认函数,我们就有可能通过implements从多个接口中继承多个默认函数。