1、继承性和多态性
继承(实现)是多态的前提,如果没有继承(实现),就没有多态
继承中成员变量的访问
类名1 对象名 = new 类名2();
对象名.变量名
编译看等号左边的【1】类名指的类是子类或者父类 运行看号左边的【1】类名指的类是子类或者父类
优先在本类中查找相关的变量,没有向上查找(向父类查找)
继承中成员方法的访问
编译看左 运行看右
继承中方法的重写
1、父子类之间方法的名称相同,参数列表相同
2、子类方法的返回值必须小于等于父类方法的返回值范围
3、子类方法的权限必须大于等于父类方法的权限
继承中的构造方法
子类必须调用父类中的构造方法(重载构造) super(参数列表) 只能有一个且在第一行
super关键字的用法3种
1、子类成员方法中访问父类的成员变量
2、子类成员方法中访问父类的成员方法
3、子类的构造方法中访问父类的构造方法
this关键字的用法3种
1、在本类的成员方法中访问本类的成员变量
2、在本类的成员方法中访问本类的成员方法
3、在本类的构造方法中访问本类的构造方法
注意:this(参数列表)只能有一个且在第一行 this 和 super 两种构造调用不能同时存在
抽象类 abstract
1、不能new 抽象类对象
2、必须用一个子类来继承抽象类
3、子类必须实现抽象类中的所有抽象方法,除非子类也为抽象类
4、使用时创建子类对象进行使用
抽象类可以有构造方法 、 默认方法、成员变量