我开始在matlab中使用OOP。但是在我的代码中使用java对象会让我感到非常头疼。 特别是当我尝试运行testClass.start()时遇到此错误:
未定义的函数'SessionSettings'用于输入类型的参数 '字符'。
提到的函数存在于jar中,它被导入,如果代码在matlab类之外运行,代码运行正常。 这是班级:
classdef testClass
properties
data
end
methods
function obj = testClass()
% class constructor
javaaddpath /home/test/test-examples-1.5.3.jar;
import test.examples.thingy.*;
end
function ret = start()
%
settings = sessionSettings('configFilePath');
end
end
end
答案 0 :(得分:1)
引用import()
的文档:
导入功能仅影响功能的导入列表 在其中使用它。在命令提示符处调用时,导入 使用MATLAB®命令环境的导入列表。如果导入是 在从函数调用的脚本中使用它会影响导入列表 功能。如果在从中调用的脚本中使用import 命令提示符,它会影响命令的导入列表 环境。
函数的导入列表在调用它时是持久的 功能,仅在清除功能时清除。
这意味着您的方法start()
会看到一个空的导入列表。