反射机制总结

反射机制总结

概念:将类的各个组成部分封装为其他对象,这就是反射机制
Class对象功能:

获取功能:

    1,获取成员变量

        Field[ ] getFields():获取所有public修饰的

        Field getField(String name):获取指定名称的public修饰的成员变量

        Field[ ] getDeclaredFields() :获取所有的成员变量,不考虑修饰符

        Field getDeclaredField(String name)

    2,获取构造方法

        Constructor<?>[ ] getConstructors()

        Constructor getConstructor(类<?>…parameterTypes)

        Constructor getDeclaredConstructor(类<?>…parameterTypes)

        Constructor<?>[ ] getDeclaredConstructors()

3,获取成员方法
Method[ ] getMethods()
Method getMethod(String name,类<?>…parameterTypes)

  Method[ ] getDeclaredMethods()
  Method getDeclaredMethod(String name,类<?>...parameterTypes) 
  //调用对象obj5的无参eat方法
   method1.invoke(obj5);
 新建属性集对象 Properties properties = new Properties();  
  
   //通过Class得到配置文件的资源,转换到输入流中
InputStream is = Test06.class.getResourceAsStream(“config.properties”); 
//将输入流进入properties中 properties.load(is); //获取某个      
properties.getProperty(“Person”);
//设置某个值
properties.setProperty(“Person”,”com.srzx.demo04.PersonXXX”);
//保持所有属性 到 文件中
 OutputStream out = new FileOutputStream("config.properties"); 
 properties.store(out,"hello");

4,获取类名
* string getName()

Field:成员变量
    操作:

        1,设置值
            void set(Object obj,Object value)

        2,获取值
            get(Object obj)

        3,忽略访问权限修饰符的安全检查//设置访问权限为可读
            setAccessible(true):暴力反射
        4.拿到类 类型三种方案
        1.Class clz=class.forname(“       ”);
        2.直接可以person.class
        3.第三种   
        通过对象Person p=new person();
        Class clz=p.getclass();

———————————————— 千年老妖

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值