程式語言導論/子型別多型性
外觀
< 程式語言導論
子型別的元素集合是現有集合的子集。函式的引數定義支援該型別或子型別的任何引數。這樣,如果函式/運算子的引數/運算元具有子型別,則該函式/運算子表現出子型別多型性。以下 Java 程式碼說明了這種多型性的使用。
public class Sub {
public static void print(Object o) {
System.out.println(o);
}
public static void main(String[] a) {
print(new String("dcc024"));
print(new Integer(42));
print(new Character('a'));
}
}
在 Java 中,Object 類是所有 Java 類 的超類。Java 中的每個類都直接或間接地擴充套件自 Object 類。Object 類是 Java 類層次結構的根。在上面的程式碼中,第 2 行定義了一個名為 print 的方法,它以 Object 作為引數,並使用 System.out 物件的 println 方法列印它。第 6 行到第 8 行顯示了以 String、Integer 和 Character 物件作為引數的子型別多型呼叫。在預期類作為引數的任何位置,都接受該類的子類作為引數。