编程语言
首页 > 编程语言> > JAVA基础复习-(final,finally,finalize)

JAVA基础复习-(final,finally,finalize)

作者:互联网

首先final, finally, finalize之间没有一点关系, 仅仅只是长得像!!!!

1. final关键字

2. finally异常处理机制

finally是java的异常处理机制中的一部分,

finally块的作用就是为了保证无论出现什么情况, finally块里的代码一定会被执行.

        一般来说在try-catch-finally 来进行类似关闭 JDBC连接,释放锁等资源的操作。

        另外扩展一下,

        如果try语句块里有return语句,那么finally还会被执行吗?答案是肯定的。

        那么return都已经跳出方法体了,那finally应该是什么时候执行呢?

        我的理解是在return中间执行。

        例如:

	public int test(){
		int i=0;
		    try{
		    i=1;
		        //do
		    return i;
		        
		    }catch(Exception e){
		        //
		    }finally{
		        i=2;
		    }
			return i;
		}

        调用上面方法return返回的是1而不是2。

        try里面遇到了return,jvm不会立刻return,它会把return后面的结果存起来,然后执行finally语句,注意return的是之前存起来的。也就是说如果在finally执行的语句是和return相关的,是不会被改变的。

3.finalize方法

finallize是Object类的一个方法, 是GC进行垃圾回收前要调用的一个方法.

标签:return,finalize,try,finally,JAVA,方法,final
来源: https://blog.csdn.net/weixin_62451143/article/details/122446951