方法调用结束前,需要进行返回。方法返回指令是根据返回值的类型区分
的。
- 包括ireturn(当返回值是boolean、byte、char、short和int类型时使用)、lreturn、freturn、dreturn和areturn
- 另外还有一条return指令供声明为void的方法、实例初始化方法以及类和接口的类初始化方法使用。
返回类型 | 返回指令 |
---|---|
void | return |
int(boolean、byte、char、short) | ireturn |
long | lreturn |
float | freturn |
double | dreturn |
reference | areturn |
举例:
通过ireturn指令,将当前函数操作数栈的顶层元素弹出,并将这个元素压入调用者函数的操作数栈中(因为调用者非常关心函数的返回值),所有在当前函数操作数栈中的其他元素都会被丢弃。
如果当前返回的是synchronized方法,那么还会执行一个隐含的monitorexit指令,退出临界区。
梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。
网友评论