Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法参数顺序的更改可以称为方法重载吗?_Java_Overloading - Fatal编程技术网

Java 方法参数顺序的更改可以称为方法重载吗?

Java 方法参数顺序的更改可以称为方法重载吗?,java,overloading,Java,Overloading,请注意,在下面的示例中,仅更改了参数的顺序。所以我的问题是-我们可以调用下面的例子是方法重载吗 public void show(String s, int a){ System.out.println("Test.show(String, int)"); } public void show(int s, String a){ System.out.println("Test.show(int, String)"); } 是的,这绝对是方法重载 发件人: 如果一个类的两个方法

请注意,在下面的示例中,仅更改了参数的顺序。所以我的问题是-我们可以调用下面的例子是方法重载吗

public void show(String s, int a){
    System.out.println("Test.show(String, int)");
}
public void show(int s, String a){
    System.out.println("Test.show(int, String)");
}

是的,这绝对是方法重载

发件人:

如果一个类的两个方法(无论是在同一个类中声明的,还是都由一个类继承的,或者一个声明的和一个继承的)具有相同的名称,但签名不是重写等价的,则称该方法名为重载

“替代等效物”如所述:

如果两个方法具有相同的名称和参数类型,则它们具有相同的签名

[…有关“相同参数类型…”的详细信息

方法m1的签名是方法m2签名的子签名,如果:

  • m2与m1具有相同的签名,或

  • m1的签名与m2签名的删除(§4.6)相同

当m1是m2的子签名或m2是m1的子签名时,两个方法签名m1和m2是覆盖等价的


签名更改,当然是重载。是的,它们重载了。你可以自己检查一下。如果方法重载错误,编译器会给出错误。可以?是的。应该?可能不会。@RohitJain我想OP的问题不是,如果可能的话,但是如果
重载
是正确的术语,Jon Skeet(再次)完美地解释了@Juvanis仅仅因为签名发生了变化,这并不意味着它是重载的。事实上,Java不支持返回类型重载(但签名正在发生变化)。