我知道方法超载
返回类型应该不同
public void test(int i,String s) {//代码}
public void test(String s,int i) {//代码}
此代码编译好.. 我想知道这涵盖了哪个选项.. 我还应该将其视为参数位置或不同类型参数的变化吗?
答案 0 :(得分:0)
参数的数据类型不同。
Java看到int然后String与String完全不同,然后是int,它也应该如此。您和我都将您的示例视为参数的重新排列,Java将其视为不同的数据类型。
我将其视为重新排列,因为我可以看到名称(名称与Java无关,但对我来说很重要)。如果我稍微改变你的代码,我会看到它更像Java,参数数据类型的变化......
public void test(int apples, String appleType) {//code}
public void test(String streetName, int cars) {//code}
现在两者之间存在明显差异。名称可以是任何名称,但重要的是每个参数的数据类型都已更改。
附加说明,为了保持一致性,请尝试对参数类型进行常见排列。避免从某些方法中的(int a, String b)
转到其他方法中的(String c, int d)
。