Java中super关键字如何配合反射使用

avatar
作者
猴君
阅读量:0

在Java中,可以使用反射来调用父类的方法或字段,同时也可以使用super关键字来访问父类的方法或字段。下面是一个示例,演示了如何结合super关键字和反射来调用父类的方法:

import java.lang.reflect.Method;  class Parent {     public void sayHello() {         System.out.println("Hello from Parent");     } }  class Child extends Parent {     @Override     public void sayHello() {         try {             Method method = Parent.class.getDeclaredMethod("sayHello");             method.invoke(super, null);         } catch (Exception e) {             e.printStackTrace();         }     } }  public class Main {     public static void main(String[] args) {         Child child = new Child();         child.sayHello();     } } 

在上面的示例中,Child类继承自Parent类,并且重写了Parent类的sayHello方法。在Child类的sayHello方法中,使用反射获取Parent类的sayHello方法,并通过method.invoke(super, null)来调用父类的sayHello方法。最终输出结果为:

Hello from Parent 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!