External Interfaces/API |
Invoking Methods on Java Objects
This section explains how to invoke an object's methods in MATLAB. It also covers how to obtain information related to the methods that you're using and how MATLAB handles certain types of nonstandard situations.
This section addresses the following topics:
Using Java and MATLAB Calling Syntax
To call methods on Java objects, you can use the Java syntax
In the following example, frame
is the java.awt.Frame
object created above, and getTitle
and setTitle
are methods of that object.
Alternatively, you can call Java object (nonstatic) methods with the MATLAB syntax
With MATLAB syntax, the java.awt.Frame
example above becomes
All of the programming examples in this chapter contain invocations of Java object methods. For example, the code for Reading a URL contains a call, using MATLAB syntax, to the openStream
method on a java.net.URL
object, url
.
In another example, the code for Example - Creating and Using a Phone Book contains a call, using Java syntax, to the load
method on a java.utils.Properties
object, pb_htable
.
Using the javaMethod Function on Nonstatic Methods
Under certain circumstances, you may need to use the javaMethod
function to call a Java method. The following syntax invokes the method, method_name
, on Java object J
with the argument list that matches x1,...,xn
. This returns the value X
.
For example, to call the startsWith
method on a java.lang.String
object passing one argument, use
gAddress = java.lang.String('Four score and seven years ago'); str = java.lang.String('Four score'); javaMethod('startsWith', gAddress, str) ans = 1
Using the javaMethod
function enables you to
namelengthmax
function to obtain the maximum identifier length.)
The only way to invoke a method whose name is longer than namelengthmax
characters is to use javaMethod
. The Java and MATLAB calling syntax does not accept method names of this length.
With javaMethod
, you can also specify the method to be invoked at run-time. In this situation, your code calls javaMethod
with a string variable in place of the method_name
argument. When you use javaMethod
to invoke a static method, you can also use a string variable in place of the class name argument.
Determining the Class of an Object | Invoking Static Methods on Java Classes |