Reflexión de Java (4): obtenga el método de construcción

Usualmente usamos el nuevo operador para crear nuevas instancias:

Person p = new Person();

Si crea una nueva instancia por reflexión, puede llamar al método newInstance () proporcionado por Class:

Person p = Person.class.newInstance();

La limitación de llamar a Class.newInstance () es que solo puede llamar al constructor público sin parámetros de la clase.
Si el constructor tiene parámetros o no es público, no se puede llamar directamente a través de Class.newInstance ().
Para llamar a cualquier constructor, la API de reflexión de Java proporciona un objeto Constructor, que contiene toda la información de un constructor y puede crear una instancia.
El objeto constructor es muy similar al método, la única diferencia es que es un constructor y el resultado de la llamada siempre devuelve una instancia. Los ejemplos son los siguientes

public class Main {
    public static void main(String[] args) throws Exception {
        // 获取构造方法Integer(int):
        Constructor cons1 = Integer.class.getConstructor(int.class);
        // 调用构造方法:
        Integer n1 = (Integer) cons1.newInstance(123);
        System.out.println(n1);

        // 获取构造方法Integer(String)
        Constructor cons2 = Integer.class.getConstructor(String.class);
        Integer n2 = (Integer) cons2.newInstance("456");
        System.out.println(n2);
    }
}

El método para obtener el Constructor a través de la instancia de Clase se resume de la siguiente manera:

  • getConstructor (Class ...): Obtenga un constructor público; //
  • getDeclaredConstructor (Class ...): obtiene un constructor;
  • getConstructors (): obtiene todos los constructores públicos;
  • getDeclaredConstructors (): obtiene todos los constructores.

Supongo que te gusta

Origin www.cnblogs.com/JohnTeslaaa/p/12716979.html
Recomendado
Clasificación