首页 > 其他 > 详细

浅析final、finally和finalize之间的区分

时间:2018-03-24 17:09:31      阅读:198      评论:0      收藏:0      [点我收藏+]

一、final

  final是一个用来修饰的关键词,可以用来修饰成员、方法和类。

   1)final成员。final成员是只读的,在声明时、静态块中、构造方法中可以初始化,经常与static修饰词一起使用。

   2)final方法。final方法是不允许被子类重写的。被final修饰的方法比非final方法运行的快。

   3)final类。final类不允许被继承。String、Interger以及其他一些分装类都是final类。

二、finally

  finally是作为异常处理的一部分,只能用在try/cath中,自身拥有一个语句块,该语句块的语句当发生异常时一定会最后执行,通常用来释放系统资源。

三、finalize

  Java自身带有垃圾回收机制,专门负责回收无用对象占用的内存资源,所以编写者一般不用进行释放无用内存的操作。但是垃圾回收机制只能回收

  由new分配的内存,则那么不是由new申请的内存便无法回收。所以为了处理这个问题Java允许在类中定义finalize()方法,该方法只负责由new申请

  之外的内存。

  如果某个类实现了finalize()方法,则JVM在执行该对象回收之前,会首先执行finalize()方法。

 

  该文章存在很多问题,之后会渐渐完善。

浅析final、finally和finalize之间的区分

原文:https://www.cnblogs.com/wonderfulworld/p/8639419.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!