主要是我想知道背后的概念。
public class Myprogram3 {
public static void main(String args[]){
Derived obj = new Derived();
System.out.println(obj.f(3));
System.out.println(obj.f(3.3));
}
}
class Base{
public int f(int i){
System.out.print("f (int): ");
return i+3;
}
}
class Derived extends Base{
public double f(double i){
System.out.print("f (double) : ");
return i + 3.3;
}
}
f (int): 6
f (double) : 6.6
答案 0 :(得分:1)
重载和继承的概念并没有真正相关。
您正在定义方法f
以采用double或int(重载)。编译器根据参数决定调用哪个方法。
您正在从基类(继承)中继承其中一个重载方法。
但你可以同样将两个方法放在同一个类中,它仍然可以工作,你可以重命名你的一个方法(所以你没有重载),它仍然可以工作。
它们是不同的概念。