class Parent { public int addValue( int a, int b) { int s; s = a+b; return s; } } class Child extends Parent { } 下述哪个方法可以加入类Child? A. int addValue( int a,int b ){// do something...} B. public void addValue (int a,int b ){// do something...} C. public int addValue( int a ){// do something...} D. public int addValue( int a,int b )throws MyException {//do something...}
时间: 2024-03-04 22:48:20 浏览: 13
选项A和选项B都可以加入类Child。
由于类Child继承了类Parent,所以Child类可以访问Parent类中的public方法。因此,选项A和选项B都可以加入类Child,这两个方法都是public访问权限,且方法名称和参数列表与Parent类中的addValue方法相同,因此符合Java中的方法重写规则。
选项C的方法参数与Parent类中的addValue方法不同,因此不符合Java中的方法重写规则,不能加入类Child。
选项D的方法增加了一个throws声明,表示该方法可能会抛出一个自定义的MyException异常,这不违反Java中的方法重写规则,但是该方法参数列表与Parent类中的addValue方法相同,因此不符合Java中的方法重写规则,不能加入类Child。
相关问题
对于下列代码: class Parent { public int addValue( int a, int b) { int s; s = a+b; return s; } } class Child extends Parent { } 下述哪个方法可以加入类Child?
这是一道重复的问题,刚才我已经回答了,我再重复一遍:
由于Child类继承了Parent类,所以Child类可以使用Parent类的所有方法。因此,Child类可以直接使用Parent类的addValue方法。如果Child类需要覆盖(override)addValue方法,可以使用与Parent类相同的方法签名,如下所示:
```
class Child extends Parent {
public int addValue( int a, int b) {
int s;
s = a+b+1; // 增加了1
return s;
}
}
```
这样,Child类就拥有了一个addValue方法,它和Parent类的addValue方法有相同的方法签名,但是实现不同。
public class Parent{ public int addValue(int a,int b){ return a + b; } } class Child extends Parent{ } 以下哪个方法声明能够加入到Child类中,编译正确。
以下是两种正确的方法声明,可以加入到 Child 类中:
1. 重写 addValue 方法:
```
class Child extends Parent{
@Override
public int addValue(int a,int b){
return a + b;
}
}
```
2. 定义一个新的方法:
```
class Child extends Parent{
public int addValues(int a,int b){
return a + b;
}
}
```
这两种方法都可以让 Child 类能够调用 addValue 方法。如果选择重写 addValue 方法,那么 Child 类的对象在调用 addValue 时会执行重写后的方法;如果选择定义一个新的方法,那么 Child 类的对象在调用 addValues 时会执行新定义的方法,但是不能直接调用 Parent 类的 addValue 方法。