17.2Class类对象实例化

java.lang.Class类是反射机制操作的起源,为了适应不同情况下的反射机制的操作,java提供有三种Class类对象实例化方式。
方式一:利用Object类中提供getClass()方法获取实例化对象

import java.util.Date;

public class JavaReflectDemo437A {

	public static void main(String[] args) {
		//【操作特点】需要获取一个类的实例化对象才可以获取Class类实例
		Date date=new Date();
		Class<?> clazz=date.getClass();   //获取Class类实例化对象
		System.out.println(clazz);
	}
}

执行结果

class java.util.Date

方式二:使用“类.class”形式获取指定类或接口的Class实例化对象

public class JavaReflectDemo437B {
   public static void main(String[] args) {
	//【操作特点】直接通过一个类的完整名称可以获取Class类的实例,需要编写import或完整类名称
	   Class<?> clazz=Member.class;
	   		System.out.println(clazz);
}
}
class Member{}

执行结果

class com.lxh.seventeenchapter.Member

方式三:使用Class类内部提供的forName()方法根据类的完整名称获取实例化对象
Class实例化方法:public static Class<?> forName​(String className) throws ClassNotFoundException;

public class JavaReflectDemo437C {
   public static void main(String[] args) throws ClassNotFoundException {
	//【操作特点】通过名称字符串(包,类)可以获取Class类实例,可以不使用import导入
	   Class<?> clazz=Class.forName("com.lxh.seventeenchapter.Member");
	   System.out.println(clazz);
}
}

执行结果

class com.lxh.seventeenchapter.Member
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章