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