El método getDeclaredConstructor() de la clase java.lang.Class se utiliza para obtener el constructor especificado de esta clase con el tipo de parámetro especificado. El método devuelve el constructor especificado de esta clase en forma de objeto Constructor.
Sintaxis:
public Constructor<T> getDeclaredConstructor(Class[] parameterType) throws NoSuchMethodException, SecurityException
Parámetro: este constructor acepta un parámetro tipo de parámetro que es la array del tipo de parámetro para el constructor especificado.
Valor devuelto: este método devuelve el constructor especificado de esta clase en forma de objetos Constructor.
Excepción Este método arroja:
- NoSuchMethodException si no se encuentra un constructor con el nombre especificado.
- SecurityException si un administrador de seguridad está presente y no se cumplen las condiciones de seguridad.
Los siguientes programas demuestran el método getDeclaredConstructor().
Ejemplo 1:
// Java program to demonstrate
// getDeclaredConstructor() method
import
java.util.*;
public
class
Test {
public
Test() {}
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());
Class[] parameterType =
null
;
// Get the constructor of myClass
// using getDeclaredConstructor() method
System.out.println(
"Constructor of myClass: "
+ myClass.getDeclaredConstructor(parameterType));
}
}
Producción:Class represented by myClass: class Test Constructor of myClass: public Test()
Ejemplo 2:
// Java program to demonstrate
// getDeclaredConstructor() constructor
import
java.util.*;
class
Main {
private
Main() {}
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());
Class[] parameterType =
new
Class[
1
];
parameterType[
0
] = Long.
class
;
try
{
// Get the constructor of myClass
// using getDeclaredConstructor() method
System.out.println(
"Constructor of myClass: "
+ myClass.getDeclaredConstructor(parameterType));
}
catch
(Exception e) {
System.out.println(e);
}
}
}
Producción:Class represented by myClass: class Main java.lang.NoSuchMethodException: Main.
(java.lang.Long) Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getDeclaredConstructor-java.lang.Class…-