动手动脑 - 继承与多态

1.运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!

通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。

在Java类中使用supper来引用父类的成分,supper可用于访问父类中定义的属性,成员方法和构造方法,supper的追溯不仅直接追溯父类,还有father的father。

Supper关键字有两个特殊用途,在子类构造函数中调用父类的构造函数,在子类中调用父类的方法。

 

2.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?构造函数的主要作用是什么?

子类拥有父的成员变量和成员方法,如果不调用,则从父类继承而来的成员变量和成员方法得不到正确的初始化。

不能反过来调用也是这个原因,因为父类根本不知道子类有什么变量,而且这样一来子类也得不到初始化的父类变量,导致程序运行出错!

构造函数主要用于为对象分配空间,进行初始化。

 

3.课堂例子运行结果截图

 

转载于:https://www.cnblogs.com/cj-125/p/7816766.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SilverlightCMS开发之3经典三页面CMS浮现

随笔思路: CMS粗略介绍 CMS具体说明 一个ListBox的效果实例 一些RIA Service 实例 那个SL CMS 的效果。 下一步1CMS粗略介绍 1本来昨晚就弄好了的。今天又改了一天,加入了我去年写的一个CMS做后台管理和与数据库交互。 这一下整个东西在功能上就略显完整…

【Step1】【floyd】poj1125-Stockbroker Grapevine

题目链接 题目大意 一个有n个点的图中,求一个点,使得这个点到其他点的最短路的最长距离最短。 输入数据中,有多组测试。每组测试第一行为n,接下来n行,每行第一个x,xi表示第i个点和x个点有路径。接下来x个数…

只要付出就有回报

今天是个特别的日子——2010年10月10日——101010,。早上上班的路上就看到很多结婚的车队,很是壮观。我的小表妹也是今天结婚,可惜要上班无法参加她的婚礼。据说很是热闹,人不多,4桌洋人,4桌国人。呵呵。。。表妹在英国…

和硕裁员4.5万真相调查:工人入不敷出无奈走人

和硕裁员4.5万真相调查:工人入不敷出无奈走人http://fellow.51cto.com 2008-12-12 16:40 佚名 每日经济新闻 我要评论(0)摘要:业界知情人士称,和硕南汇、苏州两厂“裁员过半”;但其母公司华硕公司称,“我们的代工厂无任何裁员…

Maven 异常

Archive for required library: *****org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA.jar in project SpringBootTest cannot be read or is not a valid ZIP file出现以上错误,表示下载的jar包不可多,多半原因是下载过程中中途网络中断或其它原…

Bigtable:一个分布式的结构化数据存储系统(转)

为了方便部分博友和我自己,我特地将BigTable的中文版论文转载到本博客,原文地址在Google Labs,译者为alex。 Wiki百科关于 BigTable的解释: http://en.wikipedia.org/wiki/BigTable BigTable 英文原版:http://labs.goo…

spring面试BeanFactory的作用

DefaultListableBeanFactory结构

Bean的生命周期回掉方法

上面三个是在bean的生命周期的初始化调用的 下面三个是在bean的生命周期的销毁调用的

【STM32 .Net MF开发板学习-18】GPRS遥控智能小车

有了Wifi间接控制智能小车的经验,很自然的想到,也可以通过GPRS远程遥控智能小车,因为从通信原理上看,二者其实没有什么本质的不同,都是基于Socket的TCP通信,其控制环节如下: 手机 > GPRS&…

在RHEL5下实现RAID5磁盘阵列

在Linux系统中做RAID,磁盘阵列的设备可以是一块磁盘中的三个以上的分区,也可以是三块或以上的磁盘。本文主要以几块磁盘为例,来实现在RAID5。实验说明:在VMware中进行,系统中有一块磁盘sda,新添加6块SCSI磁盘,分别为sd…

BeanFactoryPostProcessor实现在所有的BeanDefinition注册完之后帮我们进行扩展(调用)

实现BeanFactoryPostProcessor接口 spring会在所有的BeanDefinition注册完之后帮我们进行扩展(调用) BeanFactory的后置处理器就是BeanFactoryPostProcessor接口,该接口有一个方法postProcessBeanFactory,这个方法会在BeanFactory初始化之后调用&#…

第七周作业

#include<stdio.h> int main(){int i,N;scanf("%d",&N);double s0;int flag-1;for(i1;i<N;i){ flag-flag; ssi*1.0/(2*i-1)*flag; } printf("%0.3f",s); return 0; } 7-3&#xff1a; 设计思路&#xff1a; &#xff08;1&#xff09;定义变量…