黑马程序员技术交流社区
标题:
继承
[打印本页]
作者:
王广彬
时间:
2012-8-12 21:23
标题:
继承
为什么子类一定要访问父类中的构造函数?如果父类中没有构造函数呢?
作者:
权跃杰
时间:
2012-8-12 21:25
哦,这个问题以前问过老师,刚好知道!
在子类中必须有一个super指向父类中的构造方法,因为要对父类进行初始化。有父类才有子类,在构造中如果用this调用本类中的其他带参数构造,最终也会走到父类中的构造函数。父类中有空参数构造函数,系统则会默认调用父类中的空参数构造函数
super语句一定要定义在子类构造函数的第一行,因为子类要做的时候要看看父类中是否已经做了,所以先调用父类中的构造函数进行初始化,如果父类中已经初始化了,则子类中不需要再进行初始化,直接用可以。如果没有,则子类再进行初始化。
如果要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。
作者:
杨彪
时间:
2012-8-12 21:30
首先得了解什么是继承,继承是把很多类的相同特征和行为进行抽取,用一个类来描述。让多个类和这个类产生一个关系。
***子类创建对象时,会先去创建父类的对象。
默认是去调用父类的无参构造方法。
***子类构造方法中,第一行默认是super()
***为什么子类中第一行会默认有super()
因为他继承父类的成员使用,使用前这些成员必须初始化,
而他们是父类的成员,所以,必须通过父类进行初始化。
所以,会先创建一个父类的对象。
**当父类没有无参构造方法时
必须使用this或者super调用其他的构造方法。
作者:
杨习平
时间:
2012-8-14 02:27
继承:多个类中有相同的成员变量和成员方法,这样的代码重复度很高,所以,我们对其进行改进。
用一个类定义这些相同的成员变量和成员方法,然后,让多个类和这一个类产生某种关系,
有了这个关系后,多个类中就不用再写这些相同的代码了。那么,这个关系,在java中叫继承。
继承的特点:了解继承的特点有助于理解
A:java中只能单继承,没有多继承。
B:java可以有多重(层)继承。
构造方法:子类的实例化过程,如果是子类继承看父类,会先去创建父类的对象。
默认是去调用父类的无参构造方法。子类构造方法中,第一行默认是super()
子类第一行使用为什么是调用默认super(),因为他继承父类的成员使用,
使用前这些成员必须初始化而他们是父类的成员,所以,必须通过父类进行初始化。
所以,会先创建一个父类的对象。当父类没有无参构造方法时必须使用this或者super
调用其他的构造方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2