如果父类引用指向子类对象,

Class A{}
Class B extends A{
    public void f(){
    }
}

//
A a = new B();

引用要调用子类的方法,那么有两种方法:

  • #### 向下转型
(B(a)).f();
  • #### 反射
a.getClass().getMethod("f").invoke(a);