在我们的日常工作中,可能会遇到不同语言之间相互调用的问题,常见的有java调用C/C++或者在C/C++中调用java,我们可以基于sun提供的jni技术来实现这两种语言之间的相互调用,这篇文章来说一下在c++中调用java的情况,至于java如何调用c我会在另外一篇文章中单独讲。
c++调用java其实并不复杂,分为几个步骤:
在说调用之前,我们先来看看我们需要调用的java类
public class Test {
Java代码 public Test() {
}
public String getMessage(){
return "test ok";
}
public TestObject getObject() {
System.out.println("invoke getObject ok***");
TestObject to = new TestObject();
to.setName("name");
to.setPwd("pwd");
return to;
}
public void test() {
System.out.println("%%% invoke test ok***");
}
这是一个很简单的类,他有一个无参的构造函数,有三个方法,一个带有String返回值的方法,一个是返回一个我们自定义的对象TestObject,另外还有一个没有返回值的test方法。
接下来是TestObject类
Java代码 public class TestObject {
public String name;
public String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = na