Main Content

MATLAB での未定義メソッドの処理

MATLAB® コマンドが Java® オブジェクトに存在しないメソッドを呼び出した場合、MATLAB は同じ名前の関数を探します。同じ名前の関数が見つかると、MATLAB はその関数を呼び出そうとします。同じ名前の関数が見つからない場合、そのクラスの名前ではメソッドを検出できないことを示すメッセージが MATLAB に表示されます。

たとえば、MATLAB に size という名前の関数があり、Java API java.awt.Frame クラスにも size メソッドがあります。Frame オブジェクトで size を呼び出すと、java.awt.Frame によって定義されている size メソッドが実行されます。しかし、java.lang.String のオブジェクトで size を呼び出すと、MATLAB はこのクラスの size メソッドを見つけられません。そのため、代わりに MATLAB 関数 size が実行されます。

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

メモ

Java クラスを MATLAB で使用するために定義する場合、そのメソッドに MATLAB 関数と同じ名前を付けないようにしてください。