继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。
实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标。
两者区别:
1、修饰不同
不同的修饰符修饰;实现:implements,继承:extends;
2、数量不同
Java只支持“接口”的多继承,不支持“类“”的多继承;而继承在java中具有单根性,子类只能继承一个父类。
总结为:单继承,多实现。
3、属性不同
在接口中只能定义全局常量(static final),和无实现的方法;而在继承中可以定义属性方法,变量,常量等。
4、调用不同
某个接口被类实现时,在类中一定要实现接口中的抽象方法;而继承想调用那个方法就调用那个方法。
总结:
接口是:对功能的描述(方法/行为),接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。
继承是:什么是一种什么,继承传达的意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。
推荐教程:Java教程