我可以通过更改Method的返回类型来实现Method重载吗

时间:2019-04-21 06:12:52

标签: java methods overloading

我正在尝试通过更改第二个Method的返回类型来实现Method重载,但这表明已经描述了method add的错误。

public class MethodOverloading
{
    int n1,n2,n3;
    int add(int n1,int n2)  /*method name is add passing two
                               parameters of integer type   */
    {
        return n1+n2;
    }
    void add(int n2,int n1)  /* method name is add passing 
                                  two parameters one of double                           type one of integer type the add method overloaded */
    {
        System.out.println(n2+n1);
    }   
    public static void main(String[] args)
    {
        MethodOverloading obj=new MethodOverloading();
        System.out.println("Sum is "+obj.add(4,6));
        obj.add(5, 6);   
    }
}

2 个答案:

答案 0 :(得分:0)

我们不能在返回类型上重载,我们只能以规定为NOT的三种方式重载。

N --> Number
O --> Order
T --> Type

因此,根据参数的数量,顺序,类型,我们可以重载方法调用。

当我进行函数调用时,我倾向于以这种方式思考

callingAFunction("A", 3.14f);

然后,在调用时,编译器不知道会有什么结果,它只是将调用中提到的参数与定义在相同精确类型的某个地方的方法进行匹配,并且调用中的参数位于相同的位置函数定义的顺序,它们的数量也相同。然后调用相应的函数定义。

这里第一个参数是字符串“ A”,第二个参数是浮点文字值,因此在调用函数定义的函数列表中,该列表只有两个参数,而且第一个是String,第二个是浮点型值。

答案 1 :(得分:-1)

我们不能在返回类型上重载。 但是我们可以重载相同家族中相同家族的更高类型(就范围而言)。

访问此链接以获取更多详细信息。

https://www.geeksforgeeks.org/overloading-in-java/