相关疑难解决方法(0)

如何使用Java反射调用超类方法

我有两节课.

public class A {
    public Object method() {...}
}

public class B extends A {
    @Override
    public Object method() {...}
}
Run Code Online (Sandbox Code Playgroud)

我有一个B的实例.如何从b调用A.method()?基本上,与从B调用super.method()的效果相同.

B b = new B();
Class<?> superclass = b.getClass().getSuperclass();
Method method = superclass.getMethod("method", ArrayUtils.EMPTY_CLASS_ARRAY);
Object value = method.invoke(obj, ArrayUtils.EMPTY_OBJECT_ARRAY);
Run Code Online (Sandbox Code Playgroud)

但是上面的代码仍然会调用B.method()

java reflection overriding superclass

43
推荐指数
4
解决办法
4万
查看次数

标签 统计

java ×1

overriding ×1

reflection ×1

superclass ×1