继承:多各类中存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需在定义这些属性和行为,只要继承这个类就可以了
单独的这个类叫做父类,多个类可以被称为子类
实现继承的方式:通过extends关键字可以实现类与类的继承
public class 子类名 extends 父类名{}
继承的好处:提高了代码的复用性,
多个类相同的成员可以放在同一个类中
提高了代码的维护性-如果功能的代码需要修改,修改一处即可
让类与类之间产生了关系,是多态的前提
继承的弊端:
类与类之间的关系,让类的耦合性增强了
2.Java继承中成员变量的特点
成员变量名称不一样,使用的时候非常简单
成员变量名称一样的情况下
在子类中访问变量:(就近原则)
在方法的局部范围找,如果有就使用
在子类的成员范围找,如果有就使用
在父类的成员范围找,如果有就使用
如果还找不到,就报错
3.Super关键字的概述
Super的用法和this很像
this表示本类对象的引用
super表示父类存储空间的标识
4.用法:访问成员变量
this.成员变量 super.成员变量
访问构造方法:
this(...) super(...)
访问成员方法:
this.成员方法() super.成员方法()
5.Java继承中构造方法的特点
子类中所有构造方法默认都会访问父类中空参数的构造方法
为什么呢?
因为子类会继承父类中的数据,可能还会使用父类的数据,所以子类初始化之前,一定要先完成父类数据的初始化。
如果父类中没有构造方法,该怎么办
在父类中加一个无参的构造方法
通过使用super关键字去显示的调用父类的带参构造方法
6.java继承中成员方法的特点
通过子类对象调用方法
a.在子类中找,有就使用
b.在父类中找,有就使用
c.如果没有就报错
7.方法重写的概述
方法重写:
子类中出现了和父亲中一模一样的声明
注意事项:
@Override
表示该方法的重写父类的对象
方法重写的注意事项:
父类中私有方法不能被重写
子类重写父类方法时,访问权限不能更低
子类重写父类方法时,建议访问权限一模一样
多态:某一个事物,在不同时刻表现出现的不同形态
多态的前提和体现
有继承关系
有方法重写
有父类引用指向子类对象
多态中成员的访问特点:
成员方法:编译看左边,执行看右边
成员变量:编译看左边,执行看左边
多态的好处和弊端
提高了程序的扩展性
弊端:不能访问子类特有功能
多态中的转型问题
向上转型:从子到父
父类引用指向子类对象
向下转型:
从父到子,父类引用转换为子类对象