创建从Matlab实现接口的Java对象

创建从Matlab实现接口的Java对象,java,class,matlab,interface,Java,Class,Matlab,Interface,由于某些原因,我无法创建实现用户定义接口的Java对象 我尝试创建一个实现预定义接口的Java对象,效果很好 我的界面: public interface Speak { public void sayHello(); } 我的班级: public class myPerson implements Speak { public myPerson(String arg_firstName, int arg_age) { firstName = arg

由于某些原因,我无法创建实现用户定义接口的Java对象

我尝试创建一个实现预定义接口的Java对象,效果很好

我的界面:

public interface Speak 
{
    public void sayHello();
}
我的班级:

public class myPerson 
implements Speak
{
    public myPerson(String arg_firstName, int arg_age)
    {
        firstName = arg_firstName;
        age = arg_age;
    }

    public String firstName;
    public int age;

    @Override
    public void sayHello() {
        // TODO Auto-generated method stub
    }
}
为了让我的类在eclipse中工作,我必须将我的接口导出为一个.jar文件,然后将其添加到项目库中,并且工作得很好

我的Matlab文件:

clc
clear

javaclasspath('/path/to/Speak.jar');
javaclasspath('/path/to/myPerson.jar');

driver_1 = myPerson('Bob', 39);
我得到的错误是:

Undefined function or variable 'myPerson'.
如果我删除
实现
接口,我可以很好地创建对象。

我建议您试试

javaclasspath({'/path/to/Speak.jar', '/path/to/myPerson.jar'});
(您需要在类路径上同时使用
Speak.jar
myPerson.jar
来实例化
myPerson

我建议您试试

javaclasspath({'/path/to/Speak.jar', '/path/to/myPerson.jar'});

(您需要在类路径上同时使用
Speak.jar
myPerson.jar
来实例化
myPerson

我不懂Matlab,但我懂Java。myParson不是对象,而是类类型。因此,在Matlab中,您可能必须声明myPerson类型的对象或变量。编译器似乎暗示了这一点。@TheOriginalAndroid,我实际上刚刚尝试了aioobe的答案,它工作得很好。我不懂Matlab,但我懂Java。myParson不是对象,而是类类型。因此,在Matlab中,您可能必须声明myPerson类型的对象或变量。编译器似乎暗示了这一点。@TheOriginalAndroid,我实际上刚刚尝试了aioobe的答案,它工作得非常好。