反射

反射
在JDK中,主要由以下类来实现Java反射机制,这些类都位于 java.lang.reflect包中。
class:代表一个类
Method类:代表类的方法
Tield类:代表类的成员变量(也称类的属性)
Constructor类:代表类的构造方法
Array类:提供了动态创建数组,以及访问数组元素的静态方法。

Java程序的运行过程:
Person.java--编译器--Person.class--Java虚拟机--运行程序

使用反射后Java程序的运行过程:
Java反射?--编译器==运行程序
Java反射:在编译时不确定哪个类被加载,而在程序运行时才加载、探知、使用。
反射的作用:通过反射可以使程序代码访问装载到JVM中的类的内部信息。
1.获取已装载类的属性信息
2.获取已装载类的方法
3.获取已装载类的构造方法

object.getclass()获取指定实例对象的class
calss.getSuperclass()获取当前class的继承类calss
object.class   .class直接获取
class.forName("类名")用class的静态方法,传入类的全称
primitive.TYPE  基本数据类型的封装类获取class的方法

通过反射获取类的属性:
获取public的属性: object.getField();
获取所有的属性:object.getDeclaredFields();
根据属性名称获取public的属性信息:object.getField("set");
根据属性名称获取属性的信息:object.getDeclaredField("name");

通过反射获取类的方法:
获取公有的方法(包括父类的,接口的)等:object.getMethods();
获取全部的方法(本类定义的):object.getDeclaredMethods();
根据方法名称获得方法:object.getDeclareMethods("show",null);
object.getDeclareMethods("show",int.class,String.class);
获取方法参数的列表:class[] cm=方法对象.getparameterTypes();
通过反射获取类的构造方法:
获得所有的构造方法:Constructor[]con=object.getDeclaredConstructors();
获得公有的构造方法:Constructor[]con=obj.getConstructors();
根据参数获得指定的构造方法:object.getConstructors(int.class,int.class,String.calss);
object.getConstructors(null);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值