谈谈final、finally、finalize有什么不同?

初级程序猿面试一般会问的问题。

可以按照以下回答:

1. final 可以用来修饰类、方法、变量。

分别有不同的意义:

final 修饰的 class 代表不可以继承扩展

final 的变量是不可以修改的

final 的方法也是不可以重写的(override)

2. finally 则是 Java 保证重点代码一定要被执行的一种机制。

我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作。

3.finalize 是基础类 java.lang.Object 的一个方法。

它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。

注意事项:
1,不要在 finally 中使用 return 语句。
2,finally 总是执行,除非程序或者线程被中断。


   转载请注明


《谈谈final、finally、finalize有什么不同?》 by chen guoji under cc_by_name licensed
 上一篇
Redis的各项功能解决了哪些问题? Redis的各项功能解决了哪些问题?
Redis介绍官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。 同时支持strings,lists,hashes,sets,sorted se
2019-03-25
下一篇 
请对比Exception和Error有什么区别? 请对比Exception和Error有什么区别?
面试一般是这样问:运行时异常与一般异常有什么区别? 简单点来讲就是:运行时异常可以不处理,一般异常必须处理。 运行时异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。面对这种异常不管我们是否愿意,只能自己去
2019-03-23
  目录