四、阅读程序题
4.1.请说出E类中【代码1】和【代码2】的输出结果
class A{
double f1(double x,double y){
return x+y;
}
}
class B extends A{
double f2(int x,int y){
return x*y;
}
}
public class PrintDouble{
public static void main (String args[]){
B b = new B ();
System.out.println(b.f2(3,5));//代码1
System.out.println(b.f1(3.0,5.0));//代码2
}
}
结果:
修改代码使代码更易理解。
代码1是整型,因此执行B中的f2。代码2形参是double型,应要执行f1,由于B为A的子类,继承了父类的方法,因此b.f1是可执行的。
4.2.请说出B类中【代码1】和【代码2】的输出结果。
class A{
public int getNumber(int a){
return a+1;
}
}
class B extends A{
public int getNumber(int a){
return a+100;
}
public static void main(String args[]){
A num = new A();
System.out.println(num.getNumber(10)); //【代码1】
num = new B();
System.out.println(num.getNumber(10)); //【代码2】
}
}
报错: