利用反射创建User类的对象
package com.bjpowernode;
public class User {
	
	private int age;
	
	public String name;
	
	public void m1() {
		System.out.println("我是m1方法");
	}
}
----------------------
package com.bjpowernode;
/**
 * 获取User的Class类型对象的三种方式
 *
 */
public class Test01 {
	public static void main(String[] args) throws ClassNotFoundException {
		//第一种,全限定名,建议使用这种方式
		Class<?> c1 = Class.forName("com.bjpowernode.User");
		
		//第二种,调用Object类中的getClass方法
		User u = new User();
		Class<?> c2 = u.getClass();
		
		//第三种,每个类型都有class属性
		Class<?> c3 = User.class;
		
		//每个类在JVM里面只有一个对应的Class类型的对象
		System.out.println(c1==c2);
		System.out.println(c2==c3);
	}
}
-------------------------
package com.bjpowernode;
/**
 * 利用反射创建User类的对象
 *
 */
public class Test02 {
	public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
		//User user = new User();
		
		//首先获取User的Class类型的对象
		Class<?> c = Class.forName("com.bjpowernode.User");
		//创建该类的实例
		Object o = c.newInstance();
		
		System.out.println(o);
		
}
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号