小编use*_*478的帖子

使用可变长度参数进行Java重载

为什么此代码中没有编译错误:

public class OverloadingVarArgs
{
    public void fun1(int... b)
    {
        System.out.println("int");
    }
    public void fun1(long... a)
    {
        System.out.println("long");
    }
    public static void main(String[] args)
    {
        OverloadingVarArgs obj = new OverloadingVarArgs();
        obj.fun1();
    }

}
Run Code Online (Sandbox Code Playgroud)

但是这段代码给出了编译错误!

public class OverloadingVarArgs
{
    public void fun1(int... b)
    {
        System.out.println("int");
    }
    public void fun1(boolean... a)
    {
        System.out.println("boolean");
    }
    public static void main(String[] args)
    {
        OverloadingVarArgs obj = new OverloadingVarArgs();
        obj.fun1();
    }
}
Run Code Online (Sandbox Code Playgroud)

我相信在这两种情况下应该存在编译错误,但事实并非如此.

java overloading

18
推荐指数
3
解决办法
704
查看次数

标签 统计

java ×1

overloading ×1