继承:
1.场景:
如果多个类存在相同的属性和行为时,将这些内容抽取到单独一个类中,
那么多个类无需再定义这些属性和行为,只要继承那一个类即可.
其中多个类可以称为子类,单独的那个类称为父类,超类,基类
继承描述的是事物之间的所属关系,这种关系是is-a.
父类更通用,子类更具体.我们主要是通过继承,可以使事物之间形成一种关系体系.
2.定义:
就是子类继承父类的属性和行为,是的子类对象具有与父类相同的属性、相同的行为.
子类可以直接访问父类中的非私有的属性和行为.
3.好处:
1.提高代码的复用性.
2.可以让类与类之间产生关系,是多态的前提.
4.继承格式:
通过关键字extends,可以声明一个子类继承另一个父类
Class SuperClass{
...
}
Class Subclass extends SuperClass{
...
}
5.继承后的特点---成员变量
1.成员变量不重名
如果子类父类中出现不重名的成员变量,这时访问是没有影响的
如果重名,只是访问是受影响的
子父类中出现了同名的成员变量时,在子类中需要访问父类中非私有成员变量.就需要使用super关键字
修饰父类成员变量,类似于关键字this
2.使用格式:
super.父类的成员变量名;
备注:父类中的成员变量是非私有的,子类才可以直接访问,若父类中的成员变量私有了,子类不能直接访问
通常编辑程序时,我们一般遵循封装的原则,可以在父类中提供公共的setXxx()和getXxx()方法;
6.继承后的特点---成员方法
1.成员方法不重名
如果子类父类中出现不重名的成员方法时,这时的调用没有任何影响.
对象调用方法时,会先在子类中查找有没有对应的方法,若子类存在就会执行子类中的成员方法
若不存在就会执行父类中相应的方法.
2.成员方法重名--重写(Override)
方法重写:子类出现与父类一模一样的方法时(返回值类型 方法名 参数列表 都相同),会出现覆盖效应
也称为重写或者复写.声明不变,重新实现.
3.重写的应用:
子类可以根据需要,定义特定于自己的行为,即沿袭了父类的功能名称,又能根据子类的需要重新实现父类的方法
从而进行扩展增强.比如:新的手机来电显示功能.
备注:
1.子类方法重写覆盖父类方法时,必须保证权限大于等于父类的权限.
2.子类方法重写父类方法是,返回值类型,方法名和参数列表必须一模一样.
在没有@Override时,方法名和参数列表可变,返回值类型不可变
7.继承的特点:
1.java只支持单继承,不支持多继承.
2.java支持多层继承(继承体系)
3.子类和父类是一种相对概念.
备注:顶层父类是Object类,所有的类默认都继承Object