首页 > 其他 > 详细

【小知识点】final finally finalize区别

时间:2019-03-07 19:07:17      阅读:138      评论:0      收藏:0      [点我收藏+]

春招时在参加某企业的面试时突然看到这道题,才猛然发现自己并不是掌握的太好······所以特此总结一下

一:final关键字

final可以修饰三样东西。分别是类、方法、变量。分别区分一下不同的用处

1:修饰类

 如果一个类被声明为final,意味着它不能再派生新的子类,不能作为父类被继承。因此一个类不能及被声明为abstract,又被声明为final。当我们要让一个类永远不被继承我们就用final修饰类。

2:修饰方法

使方法无法在子类中重写。若父类中final方法的访问权限为private,将导致子类中不能直接继承该方法,也可以在子类中重新定义此方法,不会与其冲突(不叫重载)。

3:修饰变量

将变量或方法声明为final,可以保证他们使用中不被改变。被声明为final的变量必须在声明时给定初值,而以后的引用中只能读取,不可修改。类似C++中的const关键字。

二:finally关键字

finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,只要try中语句执行了不管有没有异常,这段语句最终一定会被执行,经常被用在需要释放资源的情况下。

三:finalize方法名

JAVA技术允许使用finalize()方法在垃圾收集器将对象从内存中清除之前做必要的清理工作。这个方法是在垃圾收集器在确定了,被清理对象没有被引用的情况下调用的。

finalize是在Object类中定义的,因此,所有的类都继承了它。子类可以覆盖finalize()方法,来整理系统资源或者执行其他清理工作。

【小知识点】final finally finalize区别

原文:https://www.cnblogs.com/BlakeHair/p/10491446.html

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