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

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

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

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

Примечание

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

Была ли эта тема полезной?