1、final

  用于声明属性、方法、类。分别表示属性不可被改变,方法不可被覆盖,类不可被继承。

  (1)一个类不能既被声明为abstract的,又被声明为final的。

  (2)被声明为final的变量必须在声明时给定初值。一般,成员变量有默认值,但是如果是final的成员变量就没有默认值,必须赋初值。

  (3)内部类要访问方法局部变量,局部变量必须定义为final类型。方法中的final局部变量放在堆中,而非栈中。

  (如果局部变量不被标注为final,那么就意味着我们可以随时修改它的值。假设我们在创建了对象后修改了局部变量的值,那么这时我们的内部类所看到的局部变量的值还是之前通过构造函数传递进去的老值,这样就导致内部类和外部函数对该局部变量的值“认识”的不一致。所以final关键字的目的就是为了保证内部类和外部函数对变量“认识”的一致性。)  

2、finally

  在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

  完整的异常处理语句一定要包含finally,finally是总会执行的语句。除非以下四种特殊情况发生,finally才不会执行:

(1)在finally语句块中发生了异常

(2)在前面代码中用了System.exit()退出程序

(3)程序所在的线程死亡

(4)关闭CPU

注意:前面的代码中就算有return语句,finally还是会执行!

3、finalize

  Object类的一个方法,因此所有的类都继承了它。

  垃圾收集器执行时会调用被回收对象的此方法。使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 不保证此方法总被执行。

最新文章

  1. SQL Server技术内幕笔记合集
  2. HashSet和TreeSet
  3. Flink – Trigger,Evictor
  4. WCF Misconfiguration: Security Not Enabled
  5. BCE0019: '' is not a member of 'UnityEngine.Component'的问题
  6. mysql depended_query 优化案例一则
  7. Rap 安装和配置
  8. python os用法笔记
  9. CSS中的各个选择节点,都有样式最后一个无样式的快捷解决方法
  10. openstack neutron
  11. HDU 5500 Reorder the Books 贪心
  12. 【POJ2417】baby step giant step
  13. ps的使用方法
  14. Code digest
  15. distinct和group by 去掉重复数据分析
  16. 「洛谷3870」「TJOI2009」开关【线段树】
  17. [Swift]LeetCode987. 二叉树的垂序遍历 | Vertical Order Traversal of a Binary Tree
  18. SDOI2019R1游记
  19. Python的datetime模块分析
  20. Jedis简介

热门文章

  1. SI_WorkShop_V4安装手册
  2. C#代码获取另一程序的错误提示,并关闭窗口。
  3. 用番茄工作法提升工作效率 (四)ToDoList的持续优化
  4. 磁盘的分区和挂载(mount)
  5. 【计算机视觉】Emvisi2
  6. 【嵌入式开发】树莓派h264实时视频监控
  7. Python 爬取煎蛋网妹子图片
  8. Excel透视表基础之字段布局与重命名、更新、数字格式设置、空值与错误值、
  9. C中的异常处理
  10. window7下安装Elasticseach5.2.2