黑马程序员技术交流社区

标题: 子类怎么访问父类的构造方法 [打印本页]

作者: 还在路上    时间: 2014-12-27 23:28
标题: 子类怎么访问父类的构造方法
对于继承的构造访问特点小弟不是太明白,在网上查了好多,感觉还是迷糊。有没有大神给讲讲,越仔细越好!

作者: 董晗    时间: 2014-12-27 23:33
关键字super,子类的构造方法中默认第一行都有一句super()(创建对象调用父类无参构造方法);如果要访问父类带参构造,用super(参数),总之,子类中必须有一个构造方法通过super访问父类无参(带参)构造方法。
作者: Mydream524    时间: 2014-12-27 23:37
补充一下楼上,如果指定继承的父类,构造函数的第一行默认指向Object
作者: cz萑    时间: 2014-12-27 23:44
在继承的构造方法访问中,子类的构造方法(无参构造、带参构造)的第一行会默认给出super()的调用父类的无参构造函数,如果你给出了super()方法,就会访问你给出的,你没有给出就会访问默认的
作者: 常强儿    时间: 2014-12-27 23:45
用super关键字
作者: 常强儿    时间: 2014-12-27 23:51
用super关键字
子类肯定是一个父类,所以new子类时一定会涉及到对父类中就有的一些成员的初始化,为了不出错,就要使用父类的构造方法,令外再加上子类特有的成员初始化。
调用方法就是使用super.super不仅能调用父类的构造方法,还可以调用其它的方法,如果使用super调用在子类中重写的方法,不会出现多态,而是直接调用的父类中的方法。
作者: 戴着glass的猫    时间: 2014-12-28 00:14
如果存在继承的关系,super()是给父类中的成员变量进行初始化用的
作者: 戴着glass的猫    时间: 2014-12-28 00:17
如果存在继承的关系,super()是给父类中的成员变量进行初始化用的;如果不存在继承关系,系统也是有一个默认的super()在子类的第一行体现,此时默认给object初始化;因为继承关系的存在,子类是可以直接访问父类中的参数的,如果在子类初始化前,不对父类中的成员进行初始化,子类调用的是父类中默认的成员变量值(在堆内存中),一般是0,或者null,这样调用是没有任何意义的,所以我们想利用父类中的东西,必须先对他初始化,这样才更方便的运用
作者: 夜枫冷    时间: 2014-12-28 00:22
用super,楼上说的好详细
作者: 魏文杰    时间: 2014-12-28 00:51
沙发讲的不错。。。。
作者: 还在路上    时间: 2014-12-28 16:38
常强儿 发表于 2014-12-27 23:51
用super关键字
子类肯定是一个父类,所以new子类时一定会涉及到对父类中就有的一些成员的初始化,为了不出 ...

谢谢大神!
作者: 还在路上    时间: 2014-12-28 16:39
董晗 发表于 2014-12-27 23:33
关键字super,子类的构造方法中默认第一行都有一句super()(创建对象调用父类无参构造方法);如果要访问父 ...

谢谢大神!
作者: 红楼    时间: 2014-12-28 19:17
原来是这样的啊  ,super好强大
作者: 蛋卷    时间: 2014-12-29 00:07
super、、、、、
作者: 任我行_2014    时间: 2014-12-29 00:39
看是需要访问父类无参构造方法还是带参构造方法,具体如下(其中super是关键字):
父类无参:super();
父类带参:super(形参列表);
作者: 还在路上    时间: 2014-12-29 22:55
cz萑 发表于 2014-12-27 23:44
在继承的构造方法访问中,子类的构造方法(无参构造、带参构造)的第一行会默认给出super()的调用父类的无 ...

谢谢,谢谢!

作者: Franklin    时间: 2014-12-29 22:57
靠super()调用啊。
作者: 还在路上    时间: 2014-12-29 22:59
Franklin 发表于 2014-12-29 22:57
靠super()调用啊。

。。这个“靠”  有点霸气!
作者: 还在路上    时间: 2014-12-29 23:01
Franklin 发表于 2014-12-29 22:57
靠super()调用啊。

。。这个“靠”  有点霸气!
作者: Franklin    时间: 2014-12-29 23:02
还在路上 发表于 2014-12-29 23:01
。。这个“靠”  有点霸气!

哎,比较口语化
作者: Franklin    时间: 2014-12-29 23:04
还在路上 发表于 2014-12-29 23:01
。。这个“靠”  有点霸气!

哎,比较口语化
作者: 还在路上    时间: 2014-12-29 23:10
Franklin 发表于 2014-12-29 23:04
哎,比较口语化

。。。 嘿嘿!
帖子结了,完事了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2