编程语言导论/子类型多态性
外观
< 编程语言导论
子类型的元素集合是现有集合的子集。函数的参数定义支持该类型或子类型的任何参数。这样,如果函数/运算符的参数/操作数具有子类型,则该函数/运算符表现出子类型多态性。以下 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 对象作为参数的子类型多态调用。在预期类作为参数的任何位置,都接受该类的子类作为参数。