Java反射----获取Class类实例的4种方式

第一种

调用运行时类本身的.class属性

Class clazz=Person.class;
		//创建class对应的运行时类Person对象
		System.out.println(clazz);
		Class clazz1=String.class;
		System.out.println(clazz1);

运行结果
Java反射----获取Class类实例的4种方式

第二种

运行时类的对象获取

Person p=new Person();
		Class clazz2=p.getClass();
		System.out.println(clazz2);

运行结果
Java反射----获取Class类实例的4种方式

第三种

通过Class的静态方法获取

String className="test.Person";
		Class clazz3=Class.forName(className);
		System.out.println(clazz3);

运行结果
Java反射----获取Class类实例的4种方式

第四种(了解)

通过类的加载器

ClassLoader classLoader=this.getClass().getClassLoader();
		Class clazz4=classLoader.loadClass(className);
		System.out.println(clazz4);

运行结果
Java反射----获取Class类实例的4种方式

总代码

public void test3() throws Exception {
		Class clazz=Person.class;
		//创建class对应的运行时类Person对象
		System.out.println(clazz);
		Class clazz1=String.class;
		System.out.println(clazz1);
		
		Person p=new Person();
		Class clazz2=p.getClass();
		System.out.println(clazz2);
		
		String className="test.Person";
		Class clazz3=Class.forName(className);
		System.out.println(clazz3);
		
		ClassLoader classLoader=this.getClass().getClassLoader();
		Class clazz4=classLoader.loadClass(className);
		System.out.println(clazz4);
	}

运行结果
Java反射----获取Class类实例的4种方式
Java反射----获取Class类实例的4种方式