刚才zhishangwuzhe同学的那贴,感觉自己太过武断了。public class Test23
{
private static int i = 4;
public static int fun() {
System.out.println("fun method");
return 8;
}
public static void main(String... args) {
System.out.println("i = " + i + ",fun() " + fun() );
}
}中
System.out.println("i = " + i + ",fun() " + fun() );这一句的执行问题:
我以为是要先执行fun()方法,然后把它的值与其它的组成一个String再进行输出打印。
我只是很浅显的进行了分析就说是先执行了fun()。但是我觉得这是错的。(所以特向那位同学认个错。^.^)但是现在我觉得,这条语句还是按其顺序执行。只是在执行println()里的fun()方法的时候进入到fun()中又碰到了一个println()方法也就是现在指向要执行语句的指针指向了fun()方法中,显然现在开始执行fun()方法里的println()所以先打印出了"fun method"
然后执行的指针跳出到先前的println()再进行打印输出。"i = 4,fun() 8"不知现在我的理解对不对。反正先前对那位同学的解释站不住稳的。希望没有对他造成误导。。认罪啊。。