java – jfieldID和jmethodID是否绑定到特定的类,还是可以在子类对象上使用它们?

当我用env-> GetFieldID(superClass,name,descriptor)(或env-> GetMethodID(superClass,method,descriptor))计算字段ID(或方法ID)时,我可以在类型对象上使用相同的ID subClass(继承自superClass)? 最佳答案 是的,你可以,但如果派生类重写了一个方法,它将引入一个新的ID.

使用针对超类计算的superID,您将有效地调用

obj.super.method()

您可以将其视为Java.lang.Class.getDeclaredMethod()和Java.lang.Class.getDeclaredFields()的类比.

点赞