java之反射底层实现

小咪咪 2023-06-29 05:53 44阅读 0赞

反射使用场景无处不在,常用jdk动态代理
底层设计到的主要类,Method(方法),Field(属性值),constructor(构造器),modifier(修饰工具类)

第一种基本用法:

  1. Class p1 = Class.forName("com.example.demo.Test");
  2. System.out.println(p1.getName());
  3. Method m1 = p1.getMethod("test");
  4. Field[] fields = p1.getFields();
  5. for (Field f:fields){
  6. System.out.println(f.getName());
  7. }
  8. 或者
  9. Class p1 = Class.forName("com.example.demo.Test");
  10. System.out.println(p1.getName());
  11. Method m1 = p1.getDeclaredMethod("test");
  12. Field[] fields = p1.getFields();
  13. for (Field f:fields){
  14. System.out.println(f.getName());
  15. }

Method获取

调用Class类的getDeclaredMethod可以获取指定方法名和参数的方法对象Method

" class="reference-link">getDeclaredMethod 20200110203131859.png

其中privateGetDeclaredMethods方法从缓存或JVM中获取该Class中申明的方法列表,searchMethods方法将从返回的方法列表里找到一个匹配名称和参数的方法对象。

后续在更新

发表评论

表情:
评论列表 (有 0 条评论,44人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java反射底层实现

    反射使用场景无处不在,常用jdk动态代理 底层设计到的主要类,Method(方法),Field(属性值),constructor(构造器),modifier(修饰工具类)

    相关 java底层_浅谈Java 并发的底层实现

    并发编程的目的是让程序运行更快,但是使用并发并不定会使得程序运行更快,只有当程序的并发数量达到一定的量级的时候才能体现并发编程的优势。所以谈并发编程在高并发量的时候才有意义。虽

    相关 Java并发底层实现原理

    并发底层实现原理 为什么引入并发 并发带来的问题 解决方案 为什么引入并发       我们引入并发的目的是为了提高CPU的利用率,比如在拥有多