Как MATLAB обрабатывает неопределенные методы

Если ваш MATLAB® команда вызывает несуществующий метод на Java® объект, MATLAB ищет функцию с таким же именем. Если MATLAB находит функцию от этого имени, он пытается вызвать ее. Если MATLAB не находит функцию с таким именем, отображается сообщение о том, что он не может найти метод с таким именем для класса.

Для примера в MATLAB есть функция с именем sizeи Java API java.awt.Frame класс также имеет size способ. Если вы звоните size на Frame объект, size метод, заданный как java.awt.Frame выполняется. Однако, если вы звоните size на объекте java.lang.StringMATLAB не находит size метод для этого класса. Поэтому он выполняет MATLAB size вместо этого функция.

text = java.lang.String('hello'); 
size(text)
ans =
     1     1

Примечание

Когда вы задаете класс Java для использования в MATLAB, избегайте присвоения любому из его методов того же имени, что и функции MATLAB.