A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

最好的诠释

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

最近在学习覆盖,想问一下,构造器Constructor是否可被override吗?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
构造器Constructor是不能被继承的,因此不能重写override;但是可以被重载;

评分

参与人数 2技术分 +1 黑马币 +5 收起 理由
黄玉昆 + 1
最好的诠释 + 5

查看全部评分

回复 使用道具 举报
崔宝东 发表于 2013-4-14 00:44
构造器Constructor是不能被继承的,因此不能重写override;但是可以被重载;

谢谢了。
回复 使用道具 举报
Override的意思是重写:
这个概念出现在继承里,子类继承父类时,如果有需要,则需要重写父类的方法。

重写的原则之一:方法名相同,形参列表相同,不然不叫重写。

写构造器的原则:(构造器也叫构造函数、构造方法,是一种特殊格式的函数)
         即方法名与类名相同。

如果你在子类中重写了父类的构造器,那么子类中就会出现这样一个四不像的东西:
      1.没有返回值:构造器是没有返回值的,所以这个东西有可能是一个构造器?
      2.方法名与类名不相同:因为构造器的名必须与类名相同,那么这个东西就不是一个构造器。
那是什么东西?
      是一种不存在的东西,编译时是不会通过的。

综上所述:构造器不能被重写,即不能继承。但是子类在实例化时会访问父类的构造器。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马