Java的跨平台性依赖于虚拟机,虚拟机的工作只是引用计算机资源来完成相关操作,
所以继承父类成员属性和成员方法,其实只是做引用操作运算来实现现实生活中的逻辑关系,这样
能大大提高运算效率,因此这里说的继承并不是说子类重新定义了自己的属性,它只是对父类成员
属性进行了引用,至于怎么引用,关键实在子类的构造方法流,当父类没有自己定义带参构造方法
时,子类若自己没引用父类的构造方法时都是默认第一行引用的是父类空参构造方法,相信许多人
会对super和this这两个关键字感到疑惑,其实这就是我们一直听别人说万物皆对象一个体现,super
代表父类,this代表子类,是直接把类当作一个对象来看待了,所以super可以直接调用父类的私
有成员,这里无论实例对象是直接由子类去创建还是还是根据多态引用父类实现,实例化对象的属性
都只是自己在堆内存里开辟空间独立存放的,无论引用哪一个,父类子类都只是实例对像的模板而已,
因此this和super的主要作用就是用来区分实例化对象究竟是用哪一种方式对自己的成员属性和方法
进行引用。这里的概念一定要区分开来。
之前回答过类似的问题,所以直接复制粘贴了{:3_56:},没那么多为什么的,它们都是根据需求演变而来。因为需求这样的输出所以制定的这样的规格格式。希望我的回答对你有帮助。 |