Java基础第十二天总结——面向对象(中)
目录:
一、方法的重写
二、四种访问权限修饰符
三、关键字:super
四、子类对象实例化过程
五、多态性
/*--------------------------分割线----------------*/
一、方法的重写
定义:在子类中根据需要对从父类继承来的方法进行改造,也称为方法的覆盖、重置。
要求:
1.子类重写的方法必须和父类重写的方法具备相同的方法名称和参数列表
2.子类重写的方法返回值类型不能大于父类被重写的方法返回值类型
3.子类重写的方法使用的访问权限修饰符不能小于父类被重写的访问权限
> 子类不能重写父类中声明为private权限的方法
4.子类方法抛出的异常不能大于父类被重写方法的异常
注意:
子类与父类中同名同参数的方法必须同时声明为非static的(即为重写),或者同时声明为static的(不是重写)。因为static方法是属于类的,子类无法覆盖父类的方法。
二、四种权限修饰符
三、关键字:super
在Java中用来调用父类中的指定操作:
可用于访问父类中定义的属性、成员方法、可用于在子类构造器中调用父类的构造器
注意:
当子父类出现同名成员时,可以用super表明调用的是父类中的成员
super的追溯不仅限于直接父类
super和this用法相像,this代表本类对象的引用,super代表父类的内存空间的标识
调用父类构造器:
子类的构造器默认都会访问父类中空参数的构造器
当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或super(参数列表)语句指定调用本类或父类中相应的构造器。同时只能二选一,且必须放在构造器首行。
如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有无参的构造器,则编译出错。
四、子类对象实例化过程
五、面向对象特征之三:多态性
理解多态性:
父类的引用指向子类对象的重写方法。
或者子类对象的重写方法赋值给父类的引用。
多态性的使用前提: ① 类的继承关系 ② 方法的重写
对象的多态性,只适用于方法,不适用于属性(编译看左边,运行看右边。)
虚拟方法调用: