面向对象(二):继承+多态

1.封装

1.1 概述

继承是面向对象最显著的一个特性。
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类/超类/基类。
这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。
提高复用性:只要继承父类,就能有一样的功能

1.2 特点

1、 使用extends关键字
2、 相当于子类把父类的功能复制了一份
3、 java只支持单继承
4、 继承可以传递(爷爷,儿子,孙子的关系)
5、 不能继承父类的私有成员
6、 继承多用于功能的修改,子类可以拥有父类的功能的同时,进行功能拓展
7、 像是is a 的关系(强制的依赖关系)

测试一:
人门

这里是引用

测试二:
继承可以传递(爷爷,儿子,孙子的关系)

这里是引用

测试三:
继承多用于功能的修改,子类可以拥有父类的功能的同时,进行功能拓展

1.3 super关键字(类似this关键字)

1、 通过super关键字可以使用父类的内容 2、 super代表父类的一个引用对象 3、 如果用,必须出现在调用位置的第一行