前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题11(谈谈final、finally、finalize的区别)

面试题11(谈谈final、finally、finalize的区别)

作者头像
Java学习
发布2018-04-18 12:00:11
5730
发布2018-04-18 12:00:11
举报
文章被收录于专栏:java学习java学习

考点:考察求职者对这3个java关键字的理解和区分

出现频率:★★★★

【面试题解析】带有 final修饰符的类是不可派生的。在Java核心APⅠ中,有许多应用final的例子,例如 java.lang.String。为String类指定final,防止了人们覆盖length()方法。另外,如果指定一个类为final,则该类所有的方法都是final。Java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50%。 final类似于C/C++中的常量,可作类、成员方法、数据成员以及局部变量的修饰符。在修饰类及成员方法时,能够控制类及成员方法是否被继承或重写等功能。 ●修饰类:类不能被继承。 ●修饰成员方法:方法不能被重写。 ●修饰数据成员:定义数据成员为常量,可在定义时或者在构造方法中初始化,当 与 static合用时,只能在定义时初始化。 ●修饰局部变量:定义常量一经初始化不能再修改 面试题11中的3个拼写非常接近的关键字在使用中有很大的不同,一般的求职者只需要区分这3个关键字的用法即可。 参考答案: final用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖、类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是 Object类的一个方法,在垃圾收集器执行的时候,会调用被回收对象的此方法,可以覆盖此方法,提供垃圾收集时的其他资源回收,例如关闭文件等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档