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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JTANISME 中级黑马   /  2014-9-21 08:53  /  1782 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

重写和重载的区别?

19 个回复

倒序浏览
重载:只看同名函数的参数列表。
重写:子父类方法除了权限,要一模一样,包括返回值类型。
回复 使用道具 举报
楼主想要拿技术分,不觉得问这些问题太过简单无趣么、?看过毕老师的基础视频不可能不知道的。再说了,百度一搜就一打了。。。这种水贴发在技术版块,版主看到了可能就直接给你拉到吹水版块了。
回复 使用道具 举报 1 0
路过混经验
回复 使用道具 举报
LZ果断装新手啊。
回复 使用道具 举报
本帖最后由 Cacerine 于 2014-9-30 12:31 编辑

我这是来水一把的节奏么!
重载:是在同一个类中,函数名相同,参数列表不同(参数个数和对应位置上的参数类型不同),就是方法的重载
重写:是在继承关系中,子类覆盖重写父类的中的方法,要求方法声明完全相同(返回值类型,方法名称,参数列表),
子类中的方法的访问权限必须大于等于父类的访问权限(如果父类成员方法用public修饰,那么子类就必须用public修饰,如果父类中的成员方法用默认修饰符(也就是没有写访问修饰符),那么子类就要么也是默认修饰符,要么就用public修饰)
要注意,父类中的私有成员方法是不能被子类重写的(用private修饰的方法就是私有的)

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 很给力!

查看全部评分

回复 使用道具 举报
Cacerine 发表于 2014-9-21 10:44
我这是来水一把的节奏么!
重载:是在同一个类中,函数名相同,参数列表相同(参数个数和对应位置上的参数类型相 ...

不错哦 写的很详细
回复 使用道具 举报
鄙视混分
回复 使用道具 举报
高泳 中级黑马 2014-9-21 12:26:34
9#
Cacerine 发表于 2014-9-21 10:44
我这是来水一把的节奏么!
重载:是在同一个类中,函数名相同,参数列表相同(参数个数和对应位置上的参数类型相 ...

写的很详细~
回复 使用道具 举报
:@:@:funk:
回复 使用道具 举报
重载是指方法名相同,参数列表不同,顺序不同,参数个数不同,参数类型不同 即可;
重写是 子父类,相同的方法,修饰符,返回值 方法名 参数列表一模一样。 一种特殊的,子类返回值类型是父类返回值类型的子类。这是引用数据类型!
回复 使用道具 举报
LFW 中级黑马 2014-9-21 16:49:52
12#
重载:看参数列表,参数列表个数或参数类型不一样(与返回值无关)。重写:程序执行体不一样,参数返回值都一样,子类重写父类方法时,子类权限>=父类权限
回复 使用道具 举报
Cacerine 发表于 2014-9-21 10:44
我这是来水一把的节奏么!
重载:是在同一个类中,函数名相同,参数列表相同(参数个数和对应位置上的参数类型相 ...

重载怎么成了参数列表一样的拉
回复 使用道具 举报
            学习了
回复 使用道具 举报
重写 就是重新写方法。。。只能写父类的。。。
回复 使用道具 举报
重写是针对子父类而言,子类对于父类的一个方法名称相同,参数相同,返回值类型相同的重写覆盖。
重载是对于同一个类而言,方法名称相同,参数不同
回复 使用道具 举报
Cacerine 发表于 2014-9-21 10:44
我这是来水一把的节奏么!
重载:是在同一个类中,函数名相同,参数列表相同(参数个数和对应位置上的参数类型相 ...

重载写错了。是方法名相同参数列表不用,无视返回值类型,版主居然给分了:(
回复 使用道具 举报
lipc 中级黑马 2014-9-21 23:17:56
18#
我也疑惑一点    重载到底算不算多态的一种体现....
回复 使用道具 举报
重载:
public String getName() {}
public String getName(int i) {}

重写:
子类集成父类
子类方法名称与父类一致,额,参数列表是不是一样来着- -忘了.
回复 使用道具 举报
打酱油的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马