java学业帮扶-反射

 //实现构造的过程
    
        Class clazz = null;//step1
     
        clazz = Class.forName("day2.Foo");
      
    
        Constructor con = clazz.getConstructor(null);//step2
     
        Object obj = con.newInstance();//step3
        
        con = clazz.getDeclaredConstructor(int.class,char.class);//step4

        con.setAccessible(true);//暴力访问(忽略掉访问修饰符)
        
        obj = con.newInstance(1,'1');
        
       
       //调用方法的过程
    
        Method m;//step1
       
        m = clazz.getDeclaredMethod("say", null);//step2
        
        m.setAccessible(true);//解除私有限定 step3
       
        Object result = m.invoke(obj);//需要两个参数,一个是要调用的对象(获取有反射),一个是实参 step4

//类

  1. Class(类对象)
  2. Constructor(构造器)
  3. Object
  4. Method(方法)

//方法

  1. Class.forName
  2. .getConstructor(null)//(获取他的构造器)
  3. .newInstance()
  4. .getDeclaredConstructor(int.class);
  5. .setAccessible(true);//暴力访问(忽略掉访问修饰符)
  6. .getDeclaredMethod(“show”, null);//(获取方法)
  7. .invoke(obj) //调用对象执行方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值