java - Java中描述实例和参数的方法的执行顺序?

标签 java

在声明中:

fooFunc().barFunc(bazFunc());

barFunc() 显然不能执行,直到 bazFunc()fooFunc() 都完成。

但是fooFunc()bazFunc()的执行顺序有保证吗?

相关(但不同!)问题: Order of execution of parameters guarantees in Java?

最佳答案

这方面的文档是 15.12.4. Run-time Evaluation of Method Invocation

它说“在运行时,方法调用需要五个步骤。首先,可以计算目标引用。其次,评估参数表达式。第三,检查要调用的方法的可访问性。第四,找到要执行的方法的实际代码。第五,创建一个新的激活框架,必要时执行同步,并将控制权转移到方法代码。”

在示例中,fooFunc() 被调用作为计算目标引用的一部分,而 bazFunc() 是参数表达式之一,因此 fooFunc () 必须先调用。

关于java - Java中描述实例和参数的方法的执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13724952/

相关文章:

java - 在 ArrayList Freemarker 中迭代 hashmap

java - 遍历嵌套的括号内容

java - Spring MVC Filter解决方案

java - play sbt 无法在 scala docker 镜像上启动

java - 条件不满足时触发 if 语句

java web服务使用post方法获取参数

java - Eclipse提供 "Failed to create the Java Virtual Machine"

java - 查询 owl 本体

java - 应如何处理 CountDownLatch.wait 的 InterruptedException

javax.ws.rs.core.Cookie vs javax.ws.rs.core.NewCookie ,有什么区别?