1.实例化Class类的五种方式

Java的数据类型可以分为两类:引用类型和原始类型
对于每种类型的对象,Java虚拟机会去实例化一个不可变的Java.lang.Class对象
这个Class对象提供了在程序运行时检查对象属性的方法,这些属性包括一个类的成员和类型信息。
所以说Class是反射的入口,所有反射程序都是基于Class开发的,我们有必要掌握如何获得Class

public static void main(String[] args) throws ClassNotFoundException {
    
    

    System.out.println("第1种方法:Object.getClass()");
    Class c1 = new Date().getClass();// 使用getClass()方式获得Class对象
    System.out.println(c1.getName());// 输出对象名称

    System.out.println("第2种方法:.class语法");
    Class c2 = boolean.class;// 使用.class语法获得Class对象
    System.out.println(c2.getName());// 输出对象名称

    System.out.println("第3种方法:Class.forName()");
    Class c3 = Class.forName("java.lang.String");// 使用Class.forName()获得Class对象
    System.out.println(c3.getName());// 输出对象名称

    System.out.println("第4种方法:包装类的TYPE域");
    Class c4 = Double.TYPE;// 使用包装类获得Class对象
    System.out.println(c4.getName());// 输出对象名称

    //调用以Class为返回值的方法
    Class c5= new ArrayList<>().getClass().getDeclaredFields()[0].getType();
    System.out.println(c5.getName());
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/c1776167012/article/details/121481658