重载与Java中的继承一起工作吗?解释这个概念
Posted
技术标签:
【中文标题】重载与Java中的继承一起工作吗?解释这个概念【英文标题】:does overloading work with inheritance in java? explain this concept 【发布时间】:2018-05-24 17:47:53 【问题描述】:主要是想知道它背后的概念。
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
【问题讨论】:
你试过了吗?有用吗? 看起来像家庭作业?到目前为止,您尝试了什么? The relationship of overload and method return type in Java?的可能重复 【参考方案1】:重载和继承的概念并不真正相关。
您正在定义方法f
以采用双精度或整数(重载)。编译器根据参数决定调用哪个方法。
您正在从基类(继承)继承其中一个重载方法。
但是您可以同样地将这两种方法放在同一个类中,它仍然可以工作,并且您可以重命名您的方法之一(这样您就不会重载),它仍然可以工作。
它们是不同的概念。
【讨论】:
以上是关于重载与Java中的继承一起工作吗?解释这个概念的主要内容,如果未能解决你的问题,请参考以下文章