Java 获取Class实例4中方式

版权声明:尊重原创,码字不易,转载需博主同意。 https://blog.csdn.net/qq_34626097/article/details/84946810

Java 获取Class实例4中方式

  1. 前提:若已知具体的类,通过类的class属性获取,该方法最为安全可靠,程序性能最高
    实例:Class clazz = String.class;

  2. 前提:已知某个类的实例,调用该实例的getClass()方法获取Class对象
    实例:Class clazz = “testReflection.Person”.getClass();

  3. 前提:已知一个类的全类名,且该类在类路径下,可通过Class类的静态方法forName()获取,可能抛出ClassNotFoundException
    实例:Class clazz = Class.forName(“java.lang.String”);

  4. 通过类的加载器
    ClassLoader cl = this.getClass().getClassLoader();
    Class clazz4 = cl.loadClass(“类的全类名”);

  5. Demo

	@Test
	public void test4() throws ClassNotFoundException {
		//1.调用运行时类本身的.class属性
		Class clazz1 = Person.class;
		System.out.println(clazz1.getName());
		
		Class clazz2 = String.class;
		System.out.println(clazz2.getName());
		
		//2.通过运行时类的对象获取
		Person p = new Person();
		Class clazz3 = p.getClass();
		System.out.println(clazz3.getName());
		
		//3.通过Class的静态方法,此方法体现反射的动态性
		String className = "testReflection.Person";
		Class clazz4 = Class.forName(className);
		System.out.println(clazz4.getName());
		
		//4.通过类的加载器
		ClassLoader classLoader = this.getClass().getClassLoader();
		Class clazz5 = classLoader.loadClass(className);
		System.out.println(clazz5);
	}

猜你喜欢

转载自blog.csdn.net/qq_34626097/article/details/84946810