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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张邦庆 黑马帝   /  2011-10-26 10:07  /  1727 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

方法的覆盖,重写,重载时子类与父类之间的关系是什么?

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 加油。

查看全部评分

8 个回复

倒序浏览
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型
子类与父类之间的关系?这个你问的有水平,你都知道是子类与父类,当然得知道是继承呀.呵呵,而且你说的覆盖就是重写哦

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
黄健 黑马帝 2011-10-26 10:42:53
藤椅
在重写时,会牵扯到子类父类之间的关系,因为子类重写了父类的某些方法,在调用时自然是执行自己的方法,而不去找父类的方法;
重载是对于类自己,与子类父类没关系,是有多个同名但不同参数的方法称为重载。
自己的理解,呵呵。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
哈哈,谢谢
回复 使用道具 举报
范围不同:重载只在一个类之间发生,覆盖牵涉到父类子类。。方法重写的特性
  关于方法重写的一些特性:   1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)   2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)   3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)      .....................方法重载具体规范
  一.方法名一定要相同。   二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。   1.如果参数个数不同,就不管它的参数类型了!   2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。   三.方法的返回类型、修饰符可以相同,也可不同。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
当子类执行重写的方法时,是直接执行子类,还是先在父类中找到其方法,而后在执行子类
回复 使用道具 举报
黄健 黑马帝 2011-10-26 10:56:11
7#
执行方法时是从下往上找,先找子类,没有再找父类,还没有找爷类。。。一但找到立马执行,不继续往上找了
已经重写父类方法后,就直接执行子类的这个方法,不再调用父类的方法
回复 使用道具 举报
张邦庆 黑马帝 2011-10-26 11:00:57
8#
那类加载器的子类与父类的执行关系又怎样啊
回复 使用道具 举报
黄健 黑马帝 2011-10-26 11:07:18
9#
你学的快啊,还没看到呢,呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马