El método getDeclaredMethod() de la clase java.lang.Class se utiliza para obtener el método especificado de esta clase con el tipo de parámetro especificado. El método devuelve el método especificado de esta clase en forma de objeto Método.
Sintaxis:
public Method getDeclaredMethod(String methodName, Class[] parameterType) throws NoSuchMethodException, SecurityException
Parámetro: Este método acepta dos parámetros:
- methodName , que es el método que se va a obtener.
- parámetroType que es la array del tipo de parámetro para el método especificado.
Valor devuelto: este método devuelve el método especificado de esta clase en forma de objetos de método.
Excepción Este método arroja:
- NoSuchMethodException si no se encuentra un método con el nombre especificado.
- NullPointerException si el nombre es nulo
- SecurityException si un administrador de seguridad está presente y no se cumplen las condiciones de seguridad.
Los siguientes programas demuestran el método getDeclaredMethod().
Ejemplo 1:
// Java program to demonstrate
// getDeclaredMethod() method
import
java.util.*;
public
class
Test {
public
void
func() {}
public
static
void
main(String[] args)
throws
ClassNotFoundException, NoSuchMethodException
{
// returns the Class object for this class
Class myClass = Class.forName(
"Test"
);
System.out.println(
"Class represented by myClass: "
+ myClass.toString());
String methodName =
"func"
;
Class[] parameterType =
null
;
// Get the method of myClass
// using getDeclaredMethod() method
System.out.println(
methodName +
" Method of myClass: "
+ myClass.getDeclaredMethod(
methodName, parameterType));
}
}
Producción:Class represented by myClass: class Test func Method of myClass: public void Test.func()
Ejemplo 2:
// Java program to demonstrate
// getDeclaredMethod() method
import
java.util.*;
class
Main {
private
void
func() {}
public
static
void
main(String[] args)
throws
ClassNotFoundException, NoSuchMethodException
{
// returns the Class object for this class
Class myClass = Class.forName(
"Main"
);
System.out.println(
"Class represented by myClass: "
+ myClass.toString());
String methodName =
"func"
;
Class[] parameterType =
null
;
try
{
// Get the method of myClass
// using getDeclaredMethod() method
System.out.println(
methodName +
" Method of myClass: "
+ myClass.getDeclaredMethod(
methodName, parameterType));
}
catch
(Exception e) {
System.out.println(e);
}
}
}
Producción:Class represented by myClass: class Main func Method of myClass: private void Main.func()