覆盖与重载问题请教.......我被老师弄疯了.................

linkboy2004 2005-01-21 08:45:37
public class Parent {
public int addValue( int a, int b) {
int s;s = a+b;return s;
}
}
class Child extends Parent {

}
Which methods can be added into class Child?
a int addValue( int a, int b ){// do something...}
b public void addValue (){// do something...}
c public int addValue( int a ){// do something...}
d public int addValue( int a, int b )throws MyException {//do something...}


答案时b和c,看样子老师认为是重载,但为什么不能是a,覆盖阿???我不明白.........
什么样的情况可以重载或覆盖,什么样的情况不能...

我们老师出了好多这样的题目..........
...全文
200 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我试过了,b,c都行
yangbiao0326 2005-01-24
  • 打赏
  • 举报
回复
在同一个类中方法成员的名称相同,但参数的类型和个数不同,这称为重载。
在存在继承关系的两个话,子类与父类的方法成员名称相同、参数的类型和个数相同的话,子类的方法覆盖父类的方法,这称为覆盖。
bluevox3000 2005-01-23
  • 打赏
  • 举报
回复
子类中方法成员覆盖父类的方法成员时,其权限不能比父类的方法成员的权限低。同时,基本结构不能变化太大(充分条件),参数不能减少(充分条件)。故a错。重载一般发生在同一个类中,需要处理不同类型的数据,又没有必要去具体区分在对象对方法成员的调用的情况下!(刚学,今天是第二天,见笑!呵呵)
dyhml 2005-01-23
  • 打赏
  • 举报
回复
同意jwnest(nest) :

a的访问权限小于父类,所以错误,d是异常错误,b和c中的addValue方法和父类的方法参数不同,所以是重载
bbn9435 2005-01-22
  • 打赏
  • 举报
回复
子类覆盖父类的方法
在访问权限上应该>=父类的方法
samkuang 2005-01-22
  • 打赏
  • 举报
回复
up
虎叔 2005-01-22
  • 打赏
  • 举报
回复
只能选择B
jwnest 2005-01-22
  • 打赏
  • 举报
回复
a的访问权限小于父类,所以错误,d是异常错误,b和c中的addValue方法和父类的方法参数不同,所以是重载
linkboy2004 2005-01-22
  • 打赏
  • 举报
回复
哪些情况下不能重载呢?
vgvg 2005-01-21
  • 打赏
  • 举报
回复
a 是覆盖,b c是重载
a的问题出在访问权限上,如果换成public也是可以的
d是异常的问题.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧