区分过载要领
若要领有同样的名字,Java奈何知道我们指的哪一个要领呢?这里有一个简朴的法则:每个过载的要领都必需采纳唯一无二的自变量范例列表。
若稍微思考几秒钟,就会想到这样一个问题:除按照自变量的范例,措施员如何区分两个同名要领的差别呢?
纵然自变量的顺序也足够我们区分两个要领(尽量我们凡是不肯意回收这种要领,因为它会发生难以维护的代码):
//: OverloadingOrder.java // Overloading based on the order of // the arguments. public class OverloadingOrder { static void print(String s, int i) { System.out.println( "String: " + s + ", int: " + i); } static void print(int i, String s) { System.out.println( "int: " + i + ", String: " + s); } public static void main(String[] args) { print("String first", 11); print(99, "Int first"); } } ///:~
两个print()要领有完全一致的自变量,但顺序差异,可据此区分它们。