JavaSE增强之反射

反射的作用:通过反射可以获取该类的注解,构造器,方法,字段,父类等.

创建反射的三种方式:1,类名.class;

2,对象.getClass();

3,Class.forName(className);//className:类的全限定名.

      反射Class常用的API:

 

	public Constructor<?>[] getConstructors() throws SecurityException:获取所有公共的构造器.
 
 
public Constructor<?>[] getDeclaredConstructors()throws SecurityException:获取所以的构造器,包括私有的.
		pubiic  Constructor<?> getConstructor():获取制定构造器.如果有参数,则传递相应的参数类型字节码文件
	public Method[] getMethods():获取所有公共的方法.
	public Method[]  getDeclareMethods():获取所以方法,包括私有的.
	public Method    getMethod(String method,Class clz);:获取指定方法,method方法名,参数类型的字节码文件
 
public Method getDeclaredMethod(String method,Class clz);获取私有方法,method方法名,clz方法所在类的字节码文件
	public Field[] getFields():获取所以公共的字段.
	public Field[] getDeclaredFields():获取所以字段,包括私有的.
	public Field getField(String name);获取指定字段.
	public String getName():以字符串形式返回此Class对象所代表的实体(类,接口方法,数组类,基本类型,void)的名称
	public String getSimpleName():返回源代码的给出的第层类的简称.
	public Annotation[] getAnnotations():返回此元素上所有的注释.
	public T newInstance():创建一个此Class对象所代表的类的一个新实例.
Method对象的方法:
	Object invoke(Object obj,Object...args):执行方法.obj为方法所在类的对象,args为方法的实际参数.
 
九大内置Class实例:
	byte,short,int,long,float,double,char,boolean,void
	同一类型在JVM中只有一份字节码,数组类型只有数据类型和维数相同才共享同一份字节码.例:int.class!=Integer.class
	注意:Integer.Type==int.class.
 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值