java反射机制要熟悉的知识

1.反射概述:
    java反射机制是在运行工程中,对于任意一个类,都能够知道这个类的所有属性和方法。对于任意一个对象,都能调用它的任意一个方法和属性。想要解剖一个类,要先获取到字节码文件。

2.三种获取class对象的方法(在运行中只有一个class对象产生):
    //方法一:这种方法要用异常处理,通过class的路径获取,如果有package要注意是package.classname
    try{    
        Class<?> c = Class.forName("Student");
        System.out.println(c);
    }catch(Exception e){
        e.printStackTrace();
    }
    
    //方法二:通过一个类的对象获取class对象
    Student s = new Student();
    Class<?> ss = s.getClass();
    System.out.println(ss);

    //方法三:直接通过class获取class对象
    Class<?> cla = Student.class;
    System.out.println(cla);
    
    总结:要明确我们是通过反射获得到类名然后创建该类的对象的,因此以上三种方法主要用方法一,通过传字符串参数获取到class的路径来获取class;方法二:对象都存在了。方法三:此方法需要导入类的包,依赖太强,容易抛出编译错误;
    
3.
1>获取构造方法:
    1):批量的方法:public Constructor[] getConstructors();获取所有”公有的“构造方法
                     public Constructor[] getDeclaredConstructors();获取所有的构造方法
    2):获取单个的构造方法:public Constructor getConstructor(Class... parameterTypes);获取单个“公有的”构造方法
                             public Constructor getDeclaredStructors(Class...parameterTypes)获取单个构造方法可以使”私有...“
      调用构造方法:Constructor-->newInstance(Object...initargs)
2>newInstance是Constructor类的方法(管理构造函数的类)


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值