继承和实现的区别和联系

面向对象三个特征:封装、继承、多态。

继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。

实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标

第一、联系

继承和接口都能实现代码重用,提高开发效率。提现了实物的传递性,继承关系达到复用的目的。

第二、区别

  1. 修饰不同 不同的修饰符修饰;实现: implement,继承:extends;
  2. 数量不同 Java只支持接口的多继承,不支持“继承”的多继承;而继承在java中具有单根性,子类只能继承一个父类。

总结为:单继承,多实现。

  1. 属性不同 在接口中只能定义全局常量(static final),和无实现的方法;而在继承中可以定义属性方法,变量,常量等…
  2. 调用不同 某个接口被类实现时,在类中一定要实现接口中的抽象方法;而继承想调用那个方法就调用那个方法,毫无压力

总结:

    接口是:对功能的描述(方法/行为),接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。 继承是:什么是一种什么, 继承传达的意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。 接口是用来实现的(implement),类是用来继承的(extends) 单继承性:Java允许一个类仅能继承一个其他类,即一个类只能有一个父类,这个限制被称为单继承性,而接口允许多继承,弥补了Java类只能单继承的缺陷。
经验分享 程序员 微信小程序 职场和发展