Red de conocimientos turísticos - Información de alquiler - Acerca de los métodos forClass, getClass y forName

Acerca de los métodos forClass, getClass y forName

El objeto java.lang.Class representa una instancia de una clase o interfaz cargada por una aplicación Java en tiempo de ejecución, es decir, la clase cargada existe en la JVM como una instancia de Clase y la JVM genera automáticamente el objeto Clase. Los objetos de clase son generados automáticamente por la JVM. Puede obtener el objeto Clase correspondiente a cada objeto a través del método getClass () de Objeto, o usar los métodos en el objeto Clase para obtener información sobre la clase después de obtener el objeto Clase.

En algunas aplicaciones, es imposible saber de antemano qué clase cargará el usuario, pero el usuario debe especificar el nombre de la clase para cargar la clase. Puede utilizar el método estático forName() de Class. para lograr la carga dinámica de la clase. forClass() No sé qué hace. El siguiente es un ejemplo:

import java.lang.reflect.*;

clase pública ClassDemo

{

public static void main( String[] args)

{

System.out.println("Ejemplo de ****************getClass() ** *******************\n");

String name="john";

//Obtener la clase instancia del objeto de nombre

Clase stringClass=name.getClass();

/Puede usar la instancia de stringClass para obtener la información del objeto de nombre. Puede consultar la documentación de la API allí. Aquí solo hay dos métodos

System.out.println("tipo del objeto de nombre: "+" + stringClass.getName());

System.out.println( "La clase principal del objeto de nombre:"+stringClass.getSuperclass().getName());

System.out.println("************** **forName() Ejemplo** *******************\n");

// forName()

/ /Carga dinámica de la clase java.util.ArrayList

//Carga dinámicamente la clase java.util.ArrayList.

//Obtiene la instancia de clase de la clase y usa Método de clase para obtener información relevante de la clase

// Hay muchos métodos en él, por lo que no los explicaré uno por uno. Puede consultar la documentación de la API

prueba

{

Clase c=Class forName("java.util.ArrayList");

int mod = c.getModifiers();

System.out.print(Modifier.toString(mod));

p>

If (Modifier.isInterface(mod))

System.out.print (" interfaz");

De lo contrario

System.out .print(" clase ");