The Java interface / Advanced programming |
Java™ objects do not need to be explicitly destroyed; as long as an object is referenced by a variable, on the stack or in an expression, it will remain. When the last reference to an object is removed, the object is destroyed automatically.
FUNCTION test() -- Declare 2 variables to reference a StringBuffer object DEFINE sb1, sb2 java.lang.StringBuffer -- Create object and assign reference to variable LET sb1 = StringBuffer.create() -- Same object is now referenced by 2 variables LET sb2 = sb1 -- Object is modified through first variable CALL sb1.append("abc") -- Object is modified through second variable CALL sb2.append("def") -- Shows content of StringBuffer object DISPLAY sb1.toString() -- Same output as previous line DISPLAY sb2.toString() -- Object is only referenced by second variable LET sb1 = NULL -- sb2 removed from stack, object is no longer referenced and is destroyed. END FUNCTION