JAva jni GetFieldIDとGetMethodIDおよびパラメータの説明


GetFieldID
手に入れる
java
クラス内のパラメータID、
GetMethodID
に届く
java
クラス内のメソッドのID.クラス内でpublicと宣言されたパラメータまたはメソッドのみを呼び出すことができます.jfieldID topicFieldId=env->
GetFieldID
(objectClass,"name", "L
java
/lang/String;"); jmethodID getcName=env->
GetMethodID
(objectClass,"getcatName","()L
java
/lang/String;");
最初のパラメータはJavaクラスオブジェクトです.2番目のパラメータはパラメータ(またはメソッド名)、3番目のパラメータはパラメータ(またはメソッド)の署名です.3番目のパラメータは以下の方法で得られる.
クラスpublic class Cat{private int catNumber;
  String catName;
 
  public Cat(int i,String name)
  {catNumber=i;catName=name;}
  public String getCatName ()
  { return this .catName;}
  public void setCatName (String catName)
  { this .catName=catName;}
  }
例えばCatクラスがCatのあるディレクトリに入る前に
java
c Cat.
java
コンパイルしてコマンドを入力:Javap–s Cat
CatメソッドgetcatNameの署名を得るには()L
java
/lang/String、Catクラスのパラメータはprivateなので署名していません.