java吧 关注:1,236,787贴子:12,705,925
  • 71回复贴,共1

哪个大佬给我说说JAVA中的反射机制

只看楼主收藏回复

我今天看反射机制,彻底看懵了


IP属地:四川来自Android客户端1楼2022-04-10 20:38回复
    请@这位牛马,它强的很,一天到晚说自己是大神,每个贴都有它的身影


    IP属地:浙江来自Android客户端2楼2022-04-10 20:49
    收起回复
      就是在程序运行过程动态的获取类。没有反射的时候,我们只能先确定好使用哪个类,然后再通过实际化调用方法。有了反射,我们就不用提前确定使用哪个类了,而是在程序运行中,你用哪个类,反射就给你加载哪个类。


      IP属地:天津来自iPhone客户端3楼2022-04-10 21:15
      收起回复
        就是jvm加载一个类的时候,把字节码文件也就是.class文件加载进内存里,然后生成一个Class对象,这个对象保存了类的各种信息。


        IP属地:浙江来自Android客户端5楼2022-04-10 22:11
        回复
          反射就是运行时的东西(可以破坏封装性),只要学会其思想,不用强行记API,知道该在什么地方用就好


          IP属地:山东来自Android客户端7楼2022-04-10 23:33
          回复
            反射就我的理解就是可以获取一个类的全部信息,一般是通过类new出对象,现在就要从对象反射出类,一般调用方法是 实例.方法(),反射调用方法是 方法.执行(实例),将一贯的思维反着考虑


            IP属地:陕西8楼2022-04-10 23:47
            回复
              想弄懂反射得先学JVM,学会Java对象生成的过程。


              IP属地:重庆来自Android客户端9楼2022-04-11 00:26
              回复
                贴吧能学会就怪了


                IP属地:四川来自Android客户端10楼2022-04-11 02:33
                回复
                  正的来不了,来反的。PHP也有。


                  IP属地:辽宁来自Android客户端13楼2022-04-11 06:18
                  回复
                    初学者可以先过一遍就行了,懂不懂无所谓,这个一般是写比较灵活的公共代码时才会用到,以后代码写得多了,自然而然就会用了,死记硬学也就记几个api,没太大的意义


                    IP属地:四川来自Android客户端14楼2022-04-11 07:30
                    收起回复
                      jvm加载类后会得到这个类的所有信息,比如方法、属性、注解、内部类、父类、实现的接口等等,Java里每个对象也会记录这个对象所属的类。反射就是让你在运行时获得这些信息,然后进行操作的一套api。
                      比如Object的getClass方法可以得到这个对象所属的类,Class的newInstance方法可以创建一个指定类的对象。
                      据我目前了解,反射通常用于:序列化和反序列化、程序框架、插件、动态代理、故意破坏封装。


                      IP属地:上海来自Android客户端15楼2022-04-11 07:44
                      回复
                        刚学se的时候知道有这个东西,用来干什么的就行了,反射确实难学


                        IP属地:广东来自Android客户端16楼2022-04-11 08:18
                        回复