当我使用 env->GetFieldID(superClass, name, descriptor
) (或 env->GetMethodID(superClass, method, descriptor)
),我可以在 subClass
类型的对象(继承自 superClass
)上使用相同的 ID 吗?
最佳答案
是的,你可以,但是如果派生类覆盖了一个方法,它会引入一个新的 ID。
通过为父类(super class)计算的superID
,您将有效地调用
obj.super.method()
您可以将其视为 Java.lang.Class.getDeclaredMethod()
和 Java.lang.Class.getDeclaredFields()
的模拟。
关于java - jfieldID 和 jmethodID 是否绑定(bind)到特定类,或者我可以在子类对象上使用它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539621/