在java方法中调用其他的某一指定方法。执行到该调用时,它会直接跳到该指定方法去执行吗?还是会(见补充)..
还是会使用类似反射调用方法的方式,先搜索获取到该指定方法的Method对象,再执行Method的invoke方法来调用?望大师指点...
还是会使用类似反射调用方法的方式,先搜索获取到该指定方法的Method对象,再执行Method的invoke方法来调用?
望大师指点 展开
望大师指点 展开
6个回答
展开全部
我人为是不需要找到method对象的,因为java中静态方法直接加载近内存,而对象方法也主要是通过对象再进行对用其方法,而对象在程序运行过程中通过 new产生之后直接在内存中保留,该对对象所有的方法也被保留在全局方法块之中,需要调用的时候,程序是先找到对象,而后再找到其方法。而至于你所说的Method对象,仅仅是在反射的时候才需要,发射类中最大的一个类是Class,它通过一个给定的名称去本地文件系统寻在相应的.class文件,并构造对象,而Method对象却是程序运行需要的时候,才把Class对象生成的具体实例的法防进行封装,组成的一个新的对象,该对象如果需要对用invoke方法,还是需要Class对象实例化过的那个具体的实例,其实跟我们平常的 对象.方法()这种掉用一样。在正常的java程序运行中,一般都不需要这么繁琐的过程,也就是你所考虑的这种先生成Method对象,再调用invoke方法,我认为是没有必要的,实际上是不是这样,本人也没有证实,仅供参考。
展开全部
一般是直接跳到该对象指定的方法的,除非你用了代理,这样就是用反射了。
通过myeclipse的断点可以很方便地观察到。
通过myeclipse的断点可以很方便地观察到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java中的方法的调用用点操作符“.”
如果不是静态的方法static, 那么必须要new 一个对象来调用,
只有是静态的时候 才能直接调用该方法
所以我理解的是
一般情况下肯定是要找到该方法的对象的
如果不是静态的方法static, 那么必须要new 一个对象来调用,
只有是静态的时候 才能直接调用该方法
所以我理解的是
一般情况下肯定是要找到该方法的对象的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要通过方法名去找到这个方法,然后执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ssdddxx形成vfdzc“”%¥2是的方便还是宣传片和讯就说就说就说就
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好:会直接跳到该指定方法去执行,你如果用eclipse可以打断点试试,这样就能知道了
追问
这位帅哥,你也姓庞么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询