在java方法中调用其他的某一指定方法。执行到该调用时,它会直接跳到该指定方法去执行吗?还是会(见补充)..

2024-12-12 07:46:24
推荐回答(6个)
回答1:

我人为是不需要找到method对象的,因为java中静态方法直接加载近内存,而对象方法也主要是通过对象再进行对用其方法,而对象在程序运行过程中通过 new产生之后直接在内存中保留,该对对象所有的方法也被保留在全局方法块之中,需要调用的时候,程序是先找到对象,而后再找到其方法。而至于你所说的Method对象,仅仅是在反射的时候才需要,发射类中最大的一个类是Class,它通过一个给定的名称去本地文件系统寻在相应的.class文件,并构造对象,而Method对象却是程序运行需要的时候,才把Class对象生成的具体实例的法防进行封装,组成的一个新的对象,该对象如果需要对用invoke方法,还是需要Class对象实例化过的那个具体的实例,其实跟我们平常的 对象.方法()这种掉用一样。在正常的java程序运行中,一般都不需要这么繁琐的过程,也就是你所考虑的这种先生成Method对象,再调用invoke方法,我认为是没有必要的,实际上是不是这样,本人也没有证实,仅供参考。

回答2:

一般是直接跳到该对象指定的方法的,除非你用了代理,这样就是用反射了。
通过myeclipse的断点可以很方便地观察到。

回答3:

java中的方法的调用用点操作符“.”
如果不是静态的方法static, 那么必须要new 一个对象来调用,
只有是静态的时候 才能直接调用该方法

所以我理解的是
一般情况下肯定是要找到该方法的对象的

回答4:

要通过方法名去找到这个方法,然后执行

回答5:

ssdddxx形成vfdzc“”%¥2是的方便还是宣传片和讯就说就说就说就

回答6:

你好:会直接跳到该指定方法去执行,你如果用eclipse可以打断点试试,这样就能知道了