下面的两段程序会有不同的输出结果,但Java的finally语句不是一定会被执行么,那为什么会这样呢?哪位明白的能给解释一下?
public class Test
{
public static void main(String[] args)
{
try
{
System.out.println("Hello");
return;
}finally
{
System.out.println("Goodbye");
}
}
}
输出结果为:
Hello
Goodbye
public class Test
{
public static void main(String[] args)
{
try
{
System.out.println("Hello");
System.exit(0);
}finally
{
System.out.println("Goodbye");
}
}
}
输出结果为:
Hello
看起来这段程序中的finally语句好像没有被执行。怎么解释这个呢?不太明白。