【问题标题】:Create Java object that implements an interface from Matlab创建从 Matlab 实现接口的 Java 对象
【发布时间】:2012-06-09 06:22:15
【问题描述】:

由于某种原因,我无法创建实现用户定义接口的 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'.

如果我删除implements 接口,我可以很好地创建对象。

【问题讨论】:

  • 我不知道 Matlab,但我知道 Java。 myParson 不是一个对象,它是一个类类型。因此在 Matlab 中,您可能必须声明 myPerson 类型的对象或变量。编译器似乎暗示了这一点。
  • @TheOriginalAndroid,我实际上只是尝试了aioobe的答案,并且效果很好。

标签: java class matlab interface


【解决方案1】:

建议你试试

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

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

【讨论】:

    猜你喜欢
    • 2011-11-09
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多