美文网首页
JNI中如何调用JAVA中的类中的父类方法

JNI中如何调用JAVA中的类中的父类方法

作者: 依玲之风 | 来源:发表于2017-06-01 23:41 被阅读0次

在JAVA开发和Android的JNI开发中有很多小伙伴都是只会在JAVA中调用C/C++中的方法,不知道怎么在C/C++中如何调用JAVA中的方法和属性,当然在JNI中调用JAVA中的方法和属性用得并不多。

在java中实体化类对象,并定义native方法,如果下图:

然后还是在C中把native方法实体,代码码如下:

在这里补充一下,如果不想调用java中父类的方法,而是调用子类的方法可以用CallobjectMethod();的方法,即可。调用父类的方法是CallNonvirtualobjectMethod();即可。

其中GetMethodID();第四个参数为方法的签名,那么怎么查看java中方法的签名呢?我们可以用jdk中的工具查看其签名,其命令为“javap -s -p 全类名”,如下图:

最后在java中调用该native方法就可以了,如下图:

相关文章

  • JNI中如何调用JAVA中的类中的父类方法

    在JAVA开发和Android的JNI开发中有很多小伙伴都是只会在JAVA中调用C/C++中的方法,不知道怎么在C...

  • jni调用java类的属性和方法(一)

    正文 1.访问类方法 1.1 获取类 jni中c/c++想要调用java中的类,就必须先找到这个类,在java中,...

  • java基础问题

    在多态中,父类指向子类时候,不能调用父类没用,子类有的方法。 java中普通类可以继承普通类的。

  • NDK | 带你梳理 JNI 函数注册的方式和时机

    前言 调用 Java 类中定义的 native 方法时,虚拟机会调用对应的 JNI 函数,而这些 JNI 函数需要...

  • jni反射java方法

    在我们写Android代码时,调用一个类中没有公开的方法,可以进行反射调用,而JNI开发中C++调用java的方法...

  • JavaScript零散知识点

    继承 super 在子类中调用super,会调用父类的方法; 不用super,则会覆盖父类的方法。调用本类中的方法。

  • iOS 继承中方法调用的顺序

    继承中方法调用的顺序:① 在自己的类中找;② 如果没有,就去父类中找;③ 如果父类中没有,就去父类的父类中;④ 如...

  • 在 Java 中定义一个不做事且没有参数的构造方法的作用

    Java 程序在执行子类的构造方法之前,如果没有用 super() 来调用父类特定的构造方法,则会调用父类中“没有...

  • Super

    编译器的指令符号如果想在子类调用父类的方法使用Super在类方法中调用父类的类方法在对象方法调用父类的对象方法可以...

  • super和self关键字的区别

    super在类方法中, 一定会调用父类的类方法super在对象方法中, 一定会调用父类的对象方法可以利用super...

网友评论

      本文标题:JNI中如何调用JAVA中的类中的父类方法

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