继承:
接口的继承
类的继承
Java是单继承
一个类的直接父类只能有一个
但是一个父类却可以拥有多个子类
抽象方法所在的类必须是抽象类才行
在父子类继承关系中,如果成员变量重名,创建子类对象时,访问有两种形式:
直接通过子类对象访问成员变量
等号左边是谁,就优先用谁,没有则向上找
间接通过成员方法访问成员变量
该方法属于谁,就优先用谁,没有则向上找
覆盖重写(override):
在继承关系中,方法的名称一样,参数列表也一样
Super关键字的三种用法:
在子类的成员方法中,访问父类的成员变量
在子类的成员方法中,访问父类的成员方法
在子类的构造方法中,访问父类的构造方法
多态性:
父类名称 对象名 = new 子类名称();
成员变量不能覆盖重写
多态带来的好处
左边不变,让代码更加灵活方便
把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
赋值之后,父类型的引用就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。
//来源于黑马程序员课程