相关疑难解决方法(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反射访问方法

是否可以通过Java反射调用超类中的no修饰符方法?

java reflection

5
推荐指数
2
解决办法
4167
查看次数

标签 统计

java ×2

reflection ×2

overriding ×1

superclass ×1