对象的转型
-
父类引用指向子类对象,这个过程叫做对象的 向上转型,属于自动类型转换。(子类可以自动转为父类)
-
向上转型后的父类引用变量只能调用它编译类型的方法,不能调用它运行时类型的方法。解决的办法就是 向下转型,属于强制类型转换。(父类只能强制性转为子类)
Object obj = new String("Hello");
obj.charAt(0) // 会报红出错,因为编译器认为obj是Object类型,而charAt是String类型的运行时方法
String str = (String) obj; // 强制转型(向下转型)
System.out.println(str.charAt(0)); // 输出:H
System.out.println(obj == str); // 输出:true