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

时间:2015-05-29 21:49:59

标签: java java-native-interface

当我使用env->GetFieldID(superClass, name, descriptor)(或env->GetMethodID(superClass, method, descriptor))计算字段ID(或方法ID)时,我是否可以在subClass类型的对象上使用相同的ID(它继承自{ {1}})?

1 个答案:

答案 0 :(得分:2)

是的,你可以,但如果派生类重写了一个方法,它将引入一个新的ID。

对于超类计算_id,您将有效地调用

superID

您可以将其视为obj.super.method() Java.lang.Class.getDeclaredMethod()的模拟。