继承

继承
1.使用继承的场景:如果多个类存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么多个类就无需再定义这些属性和行为,只要继承那一个类即可。其中,多个类可以称之为子类,单独的那个类称为父类,超类,基类。继承描述的是事物之间的所属关系,这种关系是is-a的关系。父类更通用,子类更具体。我们主要通过继承形成一种关系。
2.定义:
子类继承父类的属性和行为,是的子类对象具有与父类相同的属性和行为,子类可以直接访问父类中的非私有属性和行为。
3.好处:提高代码的复用性;使得类与类之间产生关系,这是多态的前提
4.格式:
主要通过extends关键字,可以声明一个子类继承另一个父类
class SuperClass{

}
class Subclass extends SuperClass{

}
5.继承后的特点—成员变量
1.成员变量不重名
如果子类父类中出现不重名的成员变量,这时访问没有影响,如果重名,这是访问是受影响的。子类父类出现了同名的成员变量时,在子类中访问非私有的成员变量就需要使用super关键字,super修饰的是父类的成员变量,类似于this关键字,this指在本类中调用。
2.使用格式
super.父类成员变量名;
备注:父类中的成员变量是非私有的,子类才可以直接访问,若父类中的成员变量私有,则不能直接访问,通常编码时,一般遵循封装的原则,可以在父类中提供setXxx()getXxx()方法。
6.继承后的特点—成员方法
1.成员方法不重名
如果子类父类中出现不重名的成员方法时,此时调用不受影响,在对象调用方法时,会先在子类中查找对应的方法,若子类中存在就会执行子类中的成员方法,若不存在就会执行父类中的相应方法
2.如果成名方法重名—重写(override)
方法重写:子类出现与父类一模一样的方法时(返回值类型,方法名,参数列表都相同),会出现覆盖效应,也称为重写或复写。声明不变,重新实现。
3.重写的应用
子类可以根据需要定义特定于自己的行为,即沿袭了父类的功能,又能根据子类的需求重现实现父类的方法,从而进行扩展增强
备注:1.子类方法重写覆盖父类的方法时,必须保证权限大于等于父类的权限。
2.子类方法重写父类方法时,返回值类型,参数列表,必须一模一样,在没有用注解@Override时,子类定义父类的方法,方法名和参数列表可变,返回值类型不可变。
7.继承的特点
1.java只支持到单继承,不支持多继承
2.java支持多层单继承(继承体系)
3.子类和父类是相对概念。
备注:顶层父类Object,所有的类都默认是Object的子类

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页