A a = new B();//父类引用指向子类对象,向上转型 a.test(); A c = new B(); B b = (B) c; // 向下转型,前提是上面那句A c = new B();该对象实际类型是子类,那么向下转型是安全的。否则运行报错 b.test();
class A { public void test(){ System.out.println("A"); } } class B extends A{ @Override public void test(){ System.out.println("B"); } }