java.lang.reflect
public final class Method extends AccessibleObject implements Member, GenericDeclaration
Note: This class returns and accepts types as Classes, even
primitive types; there are Class types defined that represent each
different primitive type. They are java.lang.Boolean.TYPE,
java.lang.Byte.TYPE,
, also available as boolean.class,
byte.class
, etc. These are not to be confused with the
classes java.lang.Boolean, java.lang.Byte
, etc., which are
real classes.
Also note that this is not a serializable class. It is entirely feasible to make it serializable using the Externalizable interface, but this is on Sun, not me.
Since: 1.1
See Also: Member Class (String,Class[])
(String,Class[])
getMethods getDeclaredMethods
UNKNOWN: updated to 1.4
Method Summary | |
---|---|
boolean | equals(Object obj)
Compare two objects to see if they are semantically equivalent.
|
<T extends Annotation> T | getAnnotation(Class<T> annoClass) |
Annotation[] | getDeclaredAnnotations() |
Class<?> | getDeclaringClass()
Gets the class that declared this method, or the class where this method
is a non-inherited member. |
Object | getDefaultValue()
If this method is an annotation method, returns the default
value for the method. |
Class<?>[] | getExceptionTypes()
Get the exception types this method says it throws, in no particular
order. |
Type[] | getGenericExceptionTypes()
Returns an array of Type objects that represents
the exception types declared by this method, in declaration order.
|
Type[] | getGenericParameterTypes()
Returns an array of Type objects that represents
the parameter list for this method, in declaration order.
|
Type | getGenericReturnType()
Returns the return type of this method.
|
int | getModifiers()
Gets the modifiers this method uses. |
String | getName()
Gets the name of this method. |
Annotation[][] | getParameterAnnotations() |
Class<?>[] | getParameterTypes()
Get the parameter list for this method, in declaration order. |
Class<?> | getReturnType()
Gets the return type of this method. |
TypeVariable<Method>[] | getTypeParameters()
Returns an array of TypeVariable objects that represents
the type variables declared by this constructor, in declaration order.
|
int | hashCode()
Get the hash code for the Method. |
Object | invoke(Object obj, Object... args)
Invoke the method. |
boolean | isBridge()
Return true if this method is a bridge method. |
boolean | isSynthetic()
Return true if this method is synthetic, false otherwise. |
boolean | isVarArgs()
Return true if this is a varargs method, that is if
the method takes a variable number of arguments. |
String | toGenericString() |
String | toString()
Get a String representation of the Method. |
Parameters: o the object to compare to
Returns: true
if they are equal; false
if not
Returns: the class that declared this member
Throws: TypeNotPresentException if the method returns a Class, and the class cannot be found
Since: 1.5
Returns: a list of the types in the method's throws clause
Type
objects that represents
the exception types declared by this method, in declaration order.
An array of size zero is returned if this method declares no
exceptions.
Returns: the exception types declared by this method.
Throws: GenericSignatureFormatError if the generic signature does not conform to the format specified in the Virtual Machine specification, version 3.
Since: 1.5
Type
objects that represents
the parameter list for this method, in declaration order.
An array of size zero is returned if this method takes no
parameters.
Returns: a list of the types of the method's parameters
Throws: GenericSignatureFormatError if the generic signature does not conform to the format specified in the Virtual Machine specification, version 3.
Since: 1.5
Returns: the return type of this method
Throws: GenericSignatureFormatError if the generic signature does not conform to the format specified in the Virtual Machine specification, version 3.
Since: 1.5
Modifier
class to interpret the values. A method can only have a subset of the
following modifiers: public, private, protected, abstract, static,
final, synchronized, native, and strictfp.
Returns: an integer representing the modifiers to this Member
See Also: Modifier
Returns: the name of this method
Returns: a list of the types of the method's parameters
Returns: the type of this method
TypeVariable
objects that represents
the type variables declared by this constructor, in declaration order.
An array of size zero is returned if this class has no type
variables.
Returns: the type variables associated with this class.
Throws: GenericSignatureFormatError if the generic signature does not conform to the format specified in the Virtual Machine specification, version 3.
Since: 1.5
Returns: the hash code for the object
If the method is static, o
will be ignored. Otherwise,
the method uses dynamic lookup as described in JLS 15.12.4.4. You cannot
mimic the behavior of nonvirtual lookup (as in super.foo()). This means
you will get a NullPointerException
if o
is
null, and an IllegalArgumentException
if it is incompatible
with the declaring class of the method. If the method takes 0 arguments,
you may use null or a 0-length array for args
.
Next, if this Method enforces access control, your runtime context is
evaluated, and you may have an IllegalAccessException
if
you could not acces this method in similar compiled code. If the method
is static, and its class is uninitialized, you trigger class
initialization, which may end in a
ExceptionInInitializerError
.
Finally, the method is invoked. If it completes normally, the return value
will be null for a void method, a wrapped object for a primitive return
method, or the actual return of an Object method. If it completes
abruptly, the exception is wrapped in an
InvocationTargetException
.
Parameters: o the object to invoke the method on args the arguments to the method
Returns: the return value of the method, wrapped in the appropriate wrapper if it is primitive
Throws: IllegalAccessException if the method could not normally be called
by the Java code (i.e. it is not public) IllegalArgumentException if the number of arguments is incorrect;
if the arguments types are wrong even with a widening conversion;
or if o
is not an instance of the class or interface
declaring this method InvocationTargetException if the method throws an exception NullPointerException if o
is null and this field
requires an instance ExceptionInInitializerError if accessing a static method triggered
class initialization, which then failed
Since: 1.5
Since: 1.5
Since: 1.5
public static int run(java.lang.Runnable,int)
Returns: the String representation of the Method