接口与继承

Java语言的设计中,接口和继承有很多显著的不同点。而通过这些不同点,我们就可以设计者设计此二者的初衷。

我们先来看这两个有什么关键不同点。

  1. 每个子类都只能继承自一个父类。但是每个接口的实现类却可以实现多个方法。由此看出,继承更像是一种类属关系,白马要么是马,要么不是马,他只能继承自一个父类。接口则更像是类所具备的能力,一个对象继承多个接口,就好像继承了多个能力。比如人可以继承开车的能力,可以继承思考的能力等等。
  2. 继承的父类来自类或抽象类,,接口的实现类实现的是接口。类和抽象类中可以包含成员变量,而接口中不能包含除了静态变量以外的变量。也就是我,我继承一个抽象类,那我继承了基本属性和方法;而我实现了一个方法,那就是我实现了接口要的所有方法)。这也同样印证了上一点:继承表现的是一种类属关系,而接口表现的是一种强制性的能力传递。

猜你喜欢

转载自blog.csdn.net/illikang/article/details/81295364
今日推荐