在java中,重载与继承一起工作吗?解释这个概念
我主要想知道它背后的概念在java中,重载与继承一起工作吗?解释这个概念,java,inheritance,overloading,Java,Inheritance,Overloading,我主要想知道它背后的概念 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.pr
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
定义为接受double或int(重载)。编译器根据参数决定调用哪个方法
您正在从基类(继承)中继承一个重载方法
但是你可以将两个方法放在同一个类中,它仍然可以工作,你可以重命名其中一个方法(这样你就不会有重载),它仍然可以工作
它们是不同的概念。您尝试过吗?它有用吗?看起来像家庭作业?到目前为止你尝试了什么?可能是重复的
f (int): 6
f (double) : 6.6