黑马程序员技术交流社区

标题: 构造方法有没有 override(覆盖) 的说法? [打印本页]

作者: clp    时间: 2013-6-2 10:00
标题: 构造方法有没有 override(覆盖) 的说法?
本帖最后由 clp 于 2013-6-2 20:27 编辑

构造方法有没有 override(覆盖) 的说法?

别人问我的,我回答不清楚,总觉得这个问题,很别扭,请求条理清晰的回答
作者: youngster    时间: 2013-6-2 11:05
子类继承的只是成员变量和成员方法,
构造方法不能被子类继承所以子类中要使用父类的构造方法都必须通过父类去调用
重写是发生在父子类中的,构造器不能被继承 - 所以不能被重写
所以在子类中谈不上覆盖父类的构造方法

构造器可以被重载 - 一个类中定义多个构造器。

写下重载和重写:
重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法
重写是子父类之间,在调用对象继承方法的时候,调用和执行的是父类的实现.但是,有时需要对子类中的继承方法有不同的实现.
作者: 孔雀东南飞    时间: 2013-6-2 13:53
楼主:
1、覆盖,通常来将就是重写,用于子类继承父类时,对父类方法的重写。
2、构造函数的名称必须与类名一致,即父类的构造函数名与父类名一样,子类构造函数名与子类名一样,子类名与父类名肯定不同,因此子类构造函数名与父类构造函数名肯定也不一样,所以构造函数没有覆盖或重写这个说法。
作者: clp    时间: 2013-6-2 16:36
youngster 发表于 2013-6-2 11:05
子类继承的只是成员变量和成员方法,
构造方法不能被子类继承所以子类中要使用父类的构造方法都必须通过父 ...

你的回答很专业,谢啦!




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