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-01-29 12:02:13 浏览: 303
正确的答案是 A. int addValue( int a,int b ){// do something...}。
原因是:
1. 类Child继承了类Parent,因此可以访问类Parent中的addValue方法。
2. 子类可以重写父类的方法,但是必须保持方法名、参数列表和返回类型与父类中的方法一致。
3. 选项A中的方法名、参数列表和返回类型与父类中的方法一致,因此可以加入类Child。
4. 选项B中的返回类型为void,与父类中的返回类型int不一致,因此不能加入类Child。
5. 选项C中的参数列表与父类中的参数列表不一致,因此不能加入类Child。
6. 选项D中的方法名、参数列表与父类中的方法一致,但是增加了throws语句,这意味着该方法可能会抛出一个MyException异常。如果子类中不想抛出这个异常,就不能重写父类中的这个方法。因此,选项D也不能加入类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 方法。
阅读全文