泛聊反射历史及机制原理
发布日期:2021-04-30 21:09:50 浏览次数:102 分类:精选文章

本文共 1416 字,大约阅读时间需要 4 分钟。

Java ?????????

?????Java??????????????Reflection API?????????????????????????????????????

Java?????????

?????????????

  • ????????????????
  • ??????????????
  • ??????????????????????
  • ????????????????????
  • ??????
  • ???????API

    ??????????API?

  • Class???????
  • Method????????
  • Field??????????
  • Constructor??????????
  • Class????

    Class??????????????

  • ???????????
  • ??????
  • ????JVM??????Class??
  • ??.class??????
  • Class?????????
  • ??Class??

    ??????????Class???

  • ??????Class clazz = String.class;
  • ??????Class clazz = "www.atguigu.com".getClass();
  • ??????Class clazz = Class.forName("java.lang.String");
  • ???ClassLoader?
    • ??????ClassLoader?ClassLoader cl = this.getClass().getClassLoader();
    • ??????Class clazz = cl.loadClass("?????");
  • ??????????????

  • ??newInstance()???????

    • ??????????????
    • ??????????????
  • ??Constructor???????????

    • Constructor con = clazz.getConstructor(String.class, Integer.class);
  • ?????

    • Person p2 = con.newInstance("Peter", 20);
  • ????????????

    ???????????

  • ??????????

    • public Class[] getInterfaces();
  • ??????????

    • ?????Method method = clazz.getMethod("getName", Integer.class);
    • ?????Object invoke = method.invoke(p2, 20);
  • ???????

    • ?????method.setAccessible(true);
  • ????????

    • ??Field?Field field = clazz.getDeclaredField("age");
    • ????field.set(p2, 20);
  • ????

    ?????????????????????????????????????????????????

  • ??
  • ??????
  • ?????????Proxy??InvocationHandler?????Proxy.newProxyWithInvocationHandler????????????????????

    ?????????????????????????????????????????????

    上一篇:OSPF动态路由协议的单区和多区
    下一篇:JavaScript模拟在雷达上用导弹打下敌机,程序员也过过当炮手的瘾!

    发表评论

    最新留言

    做的很好,不错不错
    [***.243.131.199]2026年06月17日 03时49分32秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章