如果父类引用指向子类对象,
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);