Java 反射

 
import java.lang.reflect.*;
import java.util.*;
class PPerson 
{	
	public static String  name;// 静态成员
	public final int MAX ;    //  常量在定义的时候可以直接初始化,也可以 在构造函数里面初始化
	public int age ;
	public PPerson()
	{
		name = "google";
		age = 10;
		MAX = 100;
	}
	public PPerson(int d )
	{
		MAX =2;
	}
	
	public String getName()
	{
		return this.name;
	}
	public int  getAge()
	{
		return this.age;
	}
	public static void Say()
	{
		System.out.println("I'm Say...");
	}
}
public class Reflect {
	
	public static void main(String args[]) throws Exception
	{
			Class pp = Class.forName("PPerson");
			
			System.out.println(pp.getName()); //得到类的名字
			Field field[] = pp.getFields();  //得到字段
			System.out.println(Arrays.toString(field));
			Method method[] = pp.getMethods();// 得到 方法
			System.out.println(Arrays.toString(method));
			Constructor cons[] = pp.getConstructors();
			for(Constructor c : cons)
				System.out.println(c);
			
			PPerson person = (PPerson) pp.newInstance();
			person.Say();
			
	}
}


			/*
			 * 										Java 反射机制
			 * 
			 * 		1.  先得到该类的Class ,然后利用Class 里面的方法
			 * 					得到 Class 对象的方法有:
			 * 										String.class 
			 * 										new String().getClass()
			 * 										Class.forName("String")
			 * 		2.Class 类里面的方法,也是利用 得到 的Class对象来进行一个类型的查询
			 * 				getName 
			 * 				getFields
			 * 				getMethods
			 * 				getConstructors
			 * 				newInstance
			 * */

http://hi.baidu.com/changsheng/blog/item/87353af3d6fba350352accd6.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值