直接看下面的例子就明白了
package com.ran.unit8;
class Useful{
public void f(){};
public void g(){};
}
class MoreUseful extends Useful{
public void f(){};
public void g(){};
public void v(){};
public void w(){};
}
public class RTTI {
public static void main(String[] args) {
Useful[] x = {new Useful(),new MoreUseful()};
x[0].f();
x[1].g();
// x[0].v();
((MoreUseful)x[1]).v();//向下转型
((MoreUseful)x[0]).v();//报错:java.lang.ClassCastException类型转换异常
}
}