1、什么是继承?
继承是面向对象的三大特征之一,它不是一种技术,它是一种指导我们编程的思想,它让我们让你更加容易实现对于已有类的扩展、更加容易对于现实事物的建模。
上面的话可能不太好理解,举个例子,车,它是不是又颜色、车长、车宽、还有轮子大小,等等,但是车又有小汽车,大卡车,火车,消防车、救护车等等,这些都是车,都有车的共性,假设我们现在有一个车类了,现在又需要一个卡车类,车类有的属性它都有,但是它还有一些其它的属性车却没有,那重新写一个类吗?这样也不是不行,只能说没有错,但是没必要,因为有一种方式可以让我们更加便捷写出这个卡车类,那就是继承,我们在写卡车类的时候只要继承车的属性和方法再加上车没有的属性和方法就可以实现卡车这个类的编写了。
如果这样还是不好理解呢,那么我们看一个图片,
这里,车类有车长、车宽、颜色、品牌等属性,而卡车除了这些属性之外还有货箱,火车类呢除了这些属性之外还有车厢节数,我们在写卡车类和火车类的时候就不需要再重新写一遍车长车宽颜色了,直接用车类的这些属性就可以了,既然你要用,那么你就需要继承车类的属性,不然你怎么使用呢。
2、继承有什么用?
1、代码复用,减少代码的冗余
2、更加容易实现扩展
3、方便建模
3、继承怎么实现?
1、语法
public class A{}
public class B extends A{ } // 基于A已有成分的基础上扩展出B这个子类
4、实现继承时值得注意的地方
方法的重写
我们在写继承类的时候,有时候会遇到父类有的方法不太适合我们的需求,但是我们又需要写一个和从父类继承下来的方法同名的方法,这个时候呢我们可以直接写,名字和参数列表相同不会报错,这就是方法的重写。