yujian
发贴: 6
积分: 0
|
于 2006-01-09 21:14
区分过载方法 若方法有同样的名字,Java怎样知道我们指的哪一个方法呢?这里有一个简单的规则:每个过载的方法都必须采取独一无二的自变量类型列表。 若稍微思考几秒钟,就会想到这样一个问题:除根据自变量的类型,程序员如何区分两个同名方法的差异呢? 即使自变量的顺序也足够我们区分两个方法(尽管我们通常不愿意采用这种方法,因为它会产生难以维护的代码):
两个print()方法有完全一致的自变量,但顺序不同,可据此区分它们。
//: 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"); } } ///:~
结果: String: String first, int: 11 int: 99, String: Int first
|