Gau*_*pta 3 java variables return
public class TestReturn {
int i = 0;
public static void main(String[] args) {
TestReturn t = new TestReturn();
System.out.println(t.test());
System.out.println(t.i);
}
private int test() {
return i++;
}
}
Run Code Online (Sandbox Code Playgroud)
产量
0
1
Run Code Online (Sandbox Code Playgroud)
我的问题是,
return
方法的出口点,但从这个方法我发现从方法返回后发生了一些事情.那么回归究竟如何呢?
简单.
当你这样做时return i++
i
,最初为0.这i++
称为后增量,其名称i
将在之后增加.
虽然在递增之前i++
返回一个值,但该方法在返回之前完成此语句main
.回报不会突然停止这种说法(评估但不递增)
所以你将返回0,递增它,然后在调用时看到1 System.out.println(t.i);
.
从技术上讲,值i
存储在堆栈中,类字段递增,然后i
返回复制的值.