简述java中的final、finally、finalize的差别
2013-11-14 22:46
253 查看
(1)final:可以作为修饰符修饰变量、方法和类,被final修饰的变量只能一次赋值;被final修饰的方法不能够在子类中被重写(override);被final修饰的类不能够被继承。
(2)finally用在异常处理中定义总是执行代码,无论try块中的代码是否引发异常,catch是否匹配成功,finally块中的代码总是被执行,除非JVM被关闭(System.exit(1)),通常用作释放外部资源(不会被垃圾回收器回收的资源)。
(3)finalize()方法是Object类中定义的方法,当垃圾回收器将无用对象从内存中清除时,该对象的finalize()方法被调用。由于该方法是protected方法,子类可以通过重写(override)该方法以整理资源或者执行其他的清理工作。
(2)finally用在异常处理中定义总是执行代码,无论try块中的代码是否引发异常,catch是否匹配成功,finally块中的代码总是被执行,除非JVM被关闭(System.exit(1)),通常用作释放外部资源(不会被垃圾回收器回收的资源)。
(3)finalize()方法是Object类中定义的方法,当垃圾回收器将无用对象从内存中清除时,该对象的finalize()方法被调用。由于该方法是protected方法,子类可以通过重写(override)该方法以整理资源或者执行其他的清理工作。
相关文章推荐
- struts2 action 文件下载的配置
- jdk环境变量配置
- 使用Struts1完成用户登录功能
- Java 线程池的原理与实现
- Java中对象的几种引用
- Java内存管理(二)--垃圾回收机制
- java ClassLoader内部原理
- weblogic配置修改java代码后不需要重启热部署方式
- Struts2学习笔记03----Struts2中的VO、ModelDriven机制及其运用
- weblogic配置修改java代码后不需要重启热部署方式
- weblogic配置修改java代码后不需要重启热部署方式
- weblogic配置修改java代码后不需要重启热部署方式
- 我的Java 我做主
- java代码JFrame练习
- Java Map 集合类简介
- java事件监听总结
- Java命名规范
- Java命名规范
- NIO - FileChannel
- NIO - Scatter/Gather