1.定义 继承是在一个类的基础上,制定出一个新的类,这个新的类不仅可以继承原来类的属性和方法,也可以增加新的属性和方法。原来的类称为父类,新的类称为子类。
2.继承关系 Java不支持多重继承,一个子类只能继承一个父类,即 extends 关键字后只允许出现一个类名。
继承具有传递性,支持多层继承。
子类在创建一个新的对象时,执行顺序是先找到最根的父亲,接着开始执行根父类的构造方法,然后依次向下执行派生出来的子类的构造方法,直到执行完所有子类构造方法为止。
子类可以继承父类所有非私有的成员方法(public,protected),而无法继承父类私有的成员方法(private)。
3.重写 子类可以定义与父类属性同名的属性,字类属性将覆盖父类的属性。 子类重写父类的方法时,子类重写的方法名称必须与父类方法名称一致,且返回值和入参都不能改变,不能缩小父类方法的访问权限。
4.super与this super关键字可以在子类中调用父类中被重写的方法。 子类不能继承父类的构造方法,父类的构造方法只属于父类。可以通过super关键字访问父类的构造方法并给父类的成员属性进行赋值。
this关键字可以获取当前子类中定义的成员属性或成员方法,也可以用this关键字用来区分并获取类中定义的成员变量。
二,多态 1.定义 多态是指一个对象的行为可以有多种不同的表现形式。
2.重载 重载是指在一个类里的方法名称相同,但是入参不同(可以是数量不同,也可以是类型不同),返回类型也可以不同。(程序根据入参动态识别具体调用哪个方法,当方法只有返回类型不同时,无法区分是哪个方法)。
3.类型转换调用 向上类型转换是指将子类对象引用转换为父类对象引用。(不能调用只存在子类中的成员) 向下类型转换是指将父类对象引用转换为子类对象引用。
三,重写与重载