黑马程序员技术交流社区

标题: 一个继承的小问题 [打印本页]

作者: 于清云    时间: 2012-4-23 09:51
标题: 一个继承的小问题
子类继承父类时候,可以继承父类的属性和方法,那么父类的构造方法是不是也继承过来了呢?
作者: 黑马-刘昌文    时间: 2012-4-23 10:03
继承过来了
子类在创建对象的时候会先调用父类不带参数的构造方法!
作者: 张亮    时间: 2012-4-23 10:04
子类继承父类的所有属性和方法,不继承构造方法。子类的构造方法必须调用父类的构造方法。
希望你能明白。
作者: 毕博    时间: 2012-4-23 10:14
子类的构造方法里默认有个Super();
可以覆盖
这么说就ok了
作者: 于清云    时间: 2012-4-23 10:20
张亮 发表于 2012-4-23 10:04
子类继承父类的所有属性和方法,不继承构造方法。子类的构造方法必须调用父类的构造方法。
希望你能明白。 ...

我明白了 大虾
作者: 张成龙    时间: 2012-4-23 10:25
没有继承过来,
因为子类每一个构造函数内的第一行都有一句隐式super();
子类的所有的构造函数,默认都会访问父类中空参数的构造函数。
当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。

作者: 黑马罗坚    时间: 2012-4-23 10:35
构造方法不能被继承只能在构造方法中被调用 父类中静态成员是在子类类装载时同时装载父类继承父类的静态成员  之所以能继承父类非静态成员 是因为在子类中的构造函数中通过super(参数列表);调用父类构造函数从而继承非静态成员  当子类构造函数里没有书写该语句是系统会帮你在第一行默认增加super();语句  当然你也可以复写该语句 在多态向上造型情况下 如果调用的是成员方法 那么执行的是子类的成员方法 如果是成员变量 那么是父类的成员变量
作者: zhaishuang    时间: 2012-4-23 11:19
final修饰的类不能被继承的;我认为子类能继承父类的构造函数,要不然怎么会在有默认的空参数构造函数呢;
子类也可以调用父类的构造函数;这也间接的说明子类继承了父类的构造函数才能调用的;
并且构造函数只是对对象进行初始化的动作。对子类进行初始化的时候必须先对父类进行初始化;也表明了子类继承了父类构造函数才有资格对其进行初始化的。
作者: Friends★    时间: 2012-4-23 11:20
你也信于啊,我也姓于,咋们同姓呢!




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