execute the statement . finds the specified method in the target object and calls it with the arguments given in the constructor . the most specific method according to the jls 15.11 is used when there are multiple methods with the same name . execute performs some special handling for methods and parameters : static methods can be executed by providing the class as a target . the method name new is reserved to call the constructor new will construct an object and return it . not useful unless an expression :--rrb- if the target is an array , get and set as defined in java.util.list are recognized as valid methods and mapped to the methods of the same name in java.lang.reflect.array . the native datatype wrappers boolean , byte , character , double , float , integer , long , and short will map to methods that have native datatypes as parameters , in the same way as method.invoke . however , these wrappers also select methods that actually take the wrapper type as an argument . the sun spec does n't deal with overloading between int and integer carefully . if there are two methods , one that takes an integer and the other taking an int , the method chosen is not specified , and can depend on the order in which the methods are declared in the source file . concode_field_sep Class wrappers[] concode_elem_sep Method method concode_elem_sep String methodName concode_elem_sep Object[] arguments concode_elem_sep Constructor ctor concode_elem_sep Class natives[] concode_elem_sep Object target concode_field_sep boolean compatible concode_elem_sep Object getTarget concode_elem_sep String getMethodName concode_elem_sep Object doExecute concode_elem_sep Object[] getArguments concode_elem_sep String toString concode_elem_sep boolean moreSpecific concode_elem_sep Class unwrap
void function ( ) { doExecute ( ) ; }