Instantiate a Java class
In Java, objects are created with the
new instruction. To create a new Java
object in BDL, you must use the class-name.create() method, and
assign the returned value to a program variable declared with the Java class name:
IMPORT JAVA java.lang.StringBuffer
MAIN
DEFINE sb StringBuffer
LET sb = StringBuffer.create()
END MAINIf the Java class constructor uses parameters, pass the parameters to the
create()
method:IMPORT JAVA java.lang.StringBuffer
MAIN
DEFINE sb1, sb2 StringBuffer
-- Next code line uses StringBuffer(String str) constructor
LET sb1 = StringBuffer.create("abcdef")
-- Next code line uses StringBuffer(int capacity) constructor
LET sb2 = StringBuffer.create(2048)
END MAINIt is not possible to use Java generic types such as
java.util.Vector<E>,
with a type parameter (for example, in pure Java: Vector<MyClass> v = new
Vector<MyClass>() ). However, it is possible to instantiate such classes without a
type parameter by using the class-name.create() method (in pure
Java: Vector v = new Vector()):IMPORT JAVA java.util.Vector
MAIN
DEFINE v java.util.Vector
LET v = java.util.Vector.create()
...
END MAIN