【发布时间】:2009-03-17 21:06:07
【问题描述】:
我刚从 Matlab 调用 Java 时发现
object.method(arg1,...,argn)
等价于
method(object, arg1,...,argn)
这里的问题是我还有一个method.m,它可以将Java 转换为Matlab(例如,将String[] 转换为字符串单元)。我的method.m 看起来像
function result = method(object, arg1,...argn)
intermediate = object.method(arg1,...argn);
result = translate(intermediate);
发生的事情是当我调用 method(object, arg1,...,argn) 时,它会直接调用 Java,而不是使用我的 method.m
修复很简单,只是不要对我的 Java 方法和 .m 文件使用相同的方法名称。 但是还有其他方法吗?我怎么知道在给定相同名称的情况下会调用哪个方法?有没有办法确保我调用 method.m 而不是 Java 方法? 确保调用 Java 方法很容易,只需使用 object.method 语法。
附带说明一下,.m 编辑器在 method(object, arg1,...,argn) 调用上链接到 method.m 也是愚蠢的,而在调试时它会调用 Java 方法。
【问题讨论】:
-
我只是通过在我的 .m 文件中添加前缀来解决它,我没想到会找到解决这个问题的好方法,我只是看看是否有任何答案
标签: java matlab methods ambiguity