美文网首页
Android GetMethodID函数的说明 查看方法签名

Android GetMethodID函数的说明 查看方法签名

作者: 椰子 | 来源:发表于2020-08-22 00:46 被阅读0次

GetFieldID是得到java类中的参数ID,
GetMethodID得到java类中方法的ID,
它们只能调用类中声明为 public的参数或方法。使用如下:

jfieldID topicFieldId = env->GetFieldID(objectClass, "catName",  "Ljava/lang/String;");
jmethodID getcName = env->GetMethodID(objectClass, "getCatName", "()Ljava/lang/String;");

第一个参数是Java 类对象,第二个参数是参数(或方法名),第三个参数是该参数(或方法)的签名。
例如:

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所在目录 先用javac Cat.java进行编译 然后输入命令:Javap –s Cat
得到Cat方法 getCatName 的签名是()Ljava/lang/String,Cat类中的参数是private 所以它没有签名。

在Kotlin中如果想要查看签名,可以如下步骤操作:

1.先打开需要查看的 .kt 类,并鼠标单击到类中选中该类;
2.然后Tools-->Kotlin-->Show Kotlin Bytecode

查看bytyecode.png

3.在打开的Bytecode界面中搜寻到对应方法或参数,就能看到对应的签名了;
例如:


方法签名1.png
方法签名2.png

相关文章

网友评论

      本文标题:Android GetMethodID函数的说明 查看方法签名

      本文链接:https://www.haomeiwen.com/subject/nnsmjktx.html