标签:有一个 ext 提升 class 方式 super关键字 方法重写 extends mamicode
学习一下Java三大特性中的继承与多态:
java的继承和多态主要是为了提升代码的复用性。
一.Java的继承:
个人理解,继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
java继承的关键字为extends和implements,其中extends只能继承一个父类,而implements可以实现多个父类的方法。
二.Java的多态:
继承是多态的基础,如果没有继承就没有多态,多态使用父类对象类型接受子类实际对象,从而达到对父子类中成员变量以及方法的灵活使用,以及对方法中参数和返回值的灵活接收。
三.继承的内存关系图:
1??.由图可知继承和多态中成员变量和方法的访问特点:
直接通过子类对象访问成员变量:等号左边是谁,就先用谁,没有则向上找。
间接通过成员方法访问成员变量:该方法属于谁,就优先用谁,没有则向上找。
注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的;
3??.继承类中的成员变量重名和方法重写:
当访问成员变量时,在超类中用简单变量命名访问的一定是超类中的成员变量,而在子类代码中用简单变量名访问的则一定是在子类中的成员变量。
当访问成员方法时,无论是以子类型还是父类型变量接收对象,执行的都是被重写的方法,即父类的方法被覆盖了。
四.this关键字和super关键字
http://www.cnblogs.com/hasse/p/5023392.html
标签:有一个 ext 提升 class 方式 super关键字 方法重写 extends mamicode
原文地址:https://www.cnblogs.com/NiYv/p/12342068.html