以下大部分总结自《java程序员面试宝典》
final成员:
说明该变量一旦初始化就不可改变,对基本类型来说是不能改变值,对对象来说是不能改变引用(但内容是可以变的,因为内容改变是对象变量的引用没变)。其初始化可以在定义处或在构造函数中,两者只能选其一。
final方法:
1、说明这个方法不允许任何从此类继承的类来覆写这个方法,但仍然可以继承。
2、允许编译器将所有对此方法的调用转化为inline调用,它会在调用final方法时直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点、压栈等,这样可能会使程序效率有所提高。当然当方法主体非常庞大时,或在多处调用此方法时,调用主体代码会迅速膨胀,可能反而会影响效率,所以要慎用final方法。
final类:
表面该类无法被继承。final类中的方法都是final的,可以显示加上final关键字,也可以不加。final类中的成员变量可以为final的也可以不是。
finally关键字是对java异常处理模型的最佳补充。finally结构使代码总会执行,不管有无异常发生。使用finally可以维护对象的内部状态,并可清理非内存资源。
finalize是方法名:finalize()方法是在垃圾收集器在删除对象之前对这个对象调用的。它在Object类中定义,因此所有类都继承了它。子类覆写该方法以整理系统资源或者执行其他清理工作。JVM保证调用这个函数之前,这个对象是不可达的(没有引用指向它),但JVM不保证这个函数一定会被调用,JVM还保证finalize()函数最多运行一次。
分享到:
相关推荐
final, finally, finalize的区别
一,谈谈final, finally, finalize的区别。 java面试题
Java中final,finally,finalize三个关键字的区别_动力节点Java学院整理
方法声明为 final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时 给定初值, 而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用, 不能重载。 finally:再异常处理时...
对于Java中final、finally、finalize的有关问题做下的思维导图,便于深化记忆,希望对你有帮助!注意:文件为.mm后缀建议下载freemind打开,免费的思维导图软件!
主要介绍了详解Java编程中final,finalize,finally的区别,这个在Java面试题中简直是太常见了...需要的朋友可以参考下
主要介绍了java 基础之final、finally和finalize的区别的相关资料,需要的朋友可以参考下
final 是 Java 中的关键字,它也是 Java 中很重要的一个关键字,final 修饰的类、方法、变量有不同的含义;finally 也是一个关键字,不过我们可以使用 finally 和其他关键字结合做一些组合操作; finalize 是一个不...
Java中final、finally、finalize的区别与用法,困扰了不少学习者,下面我们就这个问题进行一些探讨,希望对大家的学习有所帮助。
1. 注意,final 不是 immutable 2.finalize 真的那么不堪 3. 有什么机制可以替换 finalize 吗
hi 大家好,今日,天气剧变,非常冷,不想出门,于是给大家写了篇文章,关于android final关键字及final,finally,finalize的区别相关知识,具体详情如下所示: 先预告一下,下文中仅涉及java语法的讨论,和Android...
以下是对final,finally,finalize的区别进行了详细的分析介绍,需要的朋友可以过来参考下
List 和 Set 的区别,final finally finalize,Java获取反射的三种方法,Arrays.sort 和 Collections.sort 实现原理 和区别
Java 中的 final、finally 和 finalize 关键字有什么区别? final:当用“final”关键字声明一个变量时,它的值一旦被赋值就不能改变。当使用“final”关键字声明方法时,它不能在子类中被覆盖。当用“final”...
1. 注意,final 不是 immutable 2.finalize 真的那么不堪 3. 有什么机制可以替换 finalize 吗
1. 描述final﹑finally和finalize的区别。 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量声明为final,可以保证...
谈谈final, finally, finalize的区别。 final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将...
很好的Java面试题第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?