如果父類引用指向子類對象,
Class A{}
Class B extends A{
public void f(){
}
}
//
A a = new B();
引用要調用子類的方法,那麼有兩種方法:
- #### 向下轉型
(B(a)).f();
- #### 反射
a.getClass().getMethod("f").invoke(a);
Class A{}
Class B extends A{
public void f(){
}
}
//
A a = new B();
(B(a)).f();
a.getClass().getMethod("f").invoke(a);