public class Test {
/**
* @param args add by zxx ,Dec 9, 2008
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new Test().test());;
}
static int test()
{
int x = 1;
try
{
return x;
}
finally
{
++x;
}
}
}
执行结果:1
finally会在return 前执行,但是并不是一定会被执行,例如,try中有System.exit(0);语句时,finally就不会被执行;如果finally语句中含有return语句,也会覆盖前面的return值。
/**
* @param args add by zxx ,Dec 9, 2008
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new Test().test());;
}
static int test()
{
int x = 1;
try
{
return x;
}
finally
{
++x;
}
}
}
执行结果:1
finally会在return 前执行,但是并不是一定会被执行,例如,try中有System.exit(0);语句时,finally就不会被执行;如果finally语句中含有return语句,也会覆盖前面的return值。