一,继承

1.定义
继承是在一个类的基础上,制定出一个新的类,这个新的类不仅可以继承原来类的属性和方法,也可以增加新的属性和方法。原来的类称为父类,新的类称为子类。

2.继承关系
Java不支持多重继承,一个子类只能继承一个父类,即 extends 关键字后只允许出现一个类名。

继承具有传递性,支持多层继承。

子类在创建一个新的对象时,执行顺序是先找到最根的父亲,接着开始执行根父类的构造方法,然后依次向下执行派生出来的子类的构造方法,直到执行完所有子类构造方法为止。

子类可以继承父类所有非私有的成员方法(public,protected),而无法继承父类私有的成员方法(private)。

3.重写
子类可以定义与父类属性同名的属性,字类属性将覆盖父类的属性。
子类重写父类的方法时,子类重写的方法名称必须与父类方法名称一致,且返回值和入参都不能改变,不能缩小父类方法的访问权限。

4.super与this
super关键字可以在子类中调用父类中被重写的方法。
子类不能继承父类的构造方法,父类的构造方法只属于父类。可以通过super关键字访问父类的构造方法并给父类的成员属性进行赋值。

this关键字可以获取当前子类中定义的成员属性或成员方法,也可以用this关键字用来区分并获取类中定义的成员变量。

二,多态
1.定义
多态是指一个对象的行为可以有多种不同的表现形式。

2.重载
重载是指在一个类里的方法名称相同,但是入参不同(可以是数量不同,也可以是类型不同),返回类型也可以不同。(程序根据入参动态识别具体调用哪个方法,当方法只有返回类型不同时,无法区分是哪个方法)。

3.类型转换调用
向上类型转换是指将子类对象引用转换为父类对象引用。(不能调用只存在子类中的成员)
向下类型转换是指将父类对象引用转换为子类对象引用。

三,重写与重载

java 多级继承 java多层继承和多重继承_类