• 种个大西瓜
    2019-12-10
    老师,反射的主要使用场景是什么,什么情况下使用比较好

    作者回复:
    需要用反射的时候自然会用。反射肯定是能不用就不用。两种需要用反射的情况:

    1)方法名,甚至类名,是从某些配置文件读出来的,这时候就需要用。更甚有些类直接就是动态生成的,比如gclib,那肯定要用反射

    2)框架,比如spring,junit,大量需要用到反射做各种骚操作

    3)不推荐在生产使用:需要访问private的属性和方法。

    
     2
  • 怕什么,抱紧我
    2020-02-05
    老师:视频里都是知道源码的字段名和方法名
    Field field = clazz.getField("XXX");
    Method method =clazz.getMethod("XXX");
    我不知道源码情况下,如何进行反射!

    作者回复: 有class文件就可以反编译出来源代码,方法名字什么都很显而易见。所有主流IDE都支持简单的反编译,以intellij为例子,就是按住ctrl或者command键,鼠标点击类名就可以了

    
    
  • let me go
    2020-02-05
    老师,我想问一下,使用反射可以读private 了,那是不是有些矛盾了。private 不是因为不想让一些代码暴露在外面所以才设置为private 的吗,这下好了,用反射都可以读,感觉有点像是耍流氓,那干啥还要设置为private,反正都可以用反射读。就好像是卖保险柜的把保险柜的破解方法也告诉了别人一样。😂
    补充一下,听老师讲课有时候像是听相声一样,有趣😂

    作者回复: 访问private要设置一下accessible为true。还是有点限制的。private确实不应该被访问,但是总有特殊情况,就好像车不应该闯红灯,但是总有特殊情况,如果在红灯的时候直接在路口升起一堵墙,消防车救护车也不让过,也并非是好事。当一个人把属性设置为private的时候,也很难考虑到所有可能的情况。

    偷偷告诉你,其实我是德云社的编外弟子 :-) 手动狗头🐶

    
    
  • study~
    2019-08-22
    Method自动补全 是怎么实现的。。。敲回车么??

    作者回复:
    点操作符后,IntelliJ会自动提示的。如果是别的快捷操作的话,我猜测你说的是alt+enter

    
    
我们在线,来聊聊吧