`
zb0116
  • 浏览: 6784 次
  • 性别: Icon_minigender_2
  • 来自: 鞍山
最近访客 更多访客>>
社区版块
存档分类
最新评论

重写与重载

 
阅读更多

这个是我最开始混淆的问题,我的结论居然笑掉了大牙。说明我从本质上没有理解两者之间的概念。

现在重新的缕一下。

重写:方法名必须相同,构造函数(参数)必须相同。(覆盖)

重载:方法名必须相同,构造函数(参数)必须不同。

这是两者的本质含义,后来一个朋友给我举了一个例子,很贴切,也能更好的理解。



转自诺的例子:

你爸爸有一栋房子,你继承了你父亲的房子,你父亲拥有房子的时候,规定,卫生间只能进男人,但是当你继承的时候,感觉这个制度不适合你用,于是就改为,卫生间任何人都可以进入,别的规则则保留。这就是重写。因为房子还是房子,卫生间还是卫生间,只是改了里面规则,就如改了方法体一样,也叫作覆盖。

保留原来可以用的,改了不适合自己的。



重写是父子类之间的,也就是说两个类之间,而重载,是在一个类中,比如:构造方法,无参构造和有参构造,难道这个有参构造把参数去掉就是重写无参构造吗?答案是:那就报错了

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics