本文共 376 字,大约阅读时间需要 1 分钟。
我们知道,封装性、继承性与多态性是java的三大特性。
其中继承是很重要的特性,继承的核心在于共性的抽取,子类继承父类,new一个子类,可以访问子类的成员变量和成员方法,如果成员变量或者成员方法不存在的话则向父类查找,以此类推。再比如,new一个父类,可以访问父类的成员变量和成员方法,如果成员变量或者成员方法不存在的话则向父的父类查找,以此类推。抽象类就是继承的典型应用,抽象类必须由子类继承且覆盖重写抽象方法,再new这个子类。继承的内存演示图如下:
多态建立与继承的基础之上,核心在于左父右子,父类引用指向子类对象。两种应用:父类 = new 子类、接口 = new 实现类。
当直接访问成员变量的时候,优先是父类或者接口的成员变量,没有则向上查找。当访问成员方法(包括get、set方法)的时候,优先是子类或者实现类的成员方法,没有则向上查找。
转载地址:http://lxnws.baihongyu.com/