`
mushme
  • 浏览: 779078 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java反射机制

阅读更多
package info.frady;

public class User {
	private String name;
	private String id;
	public User(){
		System.out.print("自定义的初始化函数被调用了");
	}
	public User(String id,String name){
		this.id=id;
		this.name=name;
		System.out.print("自定义的带参数的初始化函数被调用了");
	}
	public void sayHi(){
		System.out.print("hi,guys.I am "+name);
	}
}

package info.frady;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class ReflectTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
	/*	try {
			User user=(User)Class.forName("info.frady.User").newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}*/
		
		try {
			Class cl=Class.forName("info.frady.User");
			
			Constructor ct=cl.getConstructor(new Class[]{String.class,String.class});
			User user=(User)ct.newInstance(new Object[]{"1","frady"});
			user.sayHi();
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics