作者:杨裙
本次任务完成时间:2019年5月3日
开发工具与关键技术:MyEclipse 10、Java
一、final关键字
1、final修饰的变量是一个常量,常量的名称要全部大写,而且字母与字母之间要用下划线分隔开,被final修饰的变量让程序变得更加严谨,而且给一些固定的数据起一些阅读性较强的名称。
2、final的字面意思是:最终。所以被final修饰的变量不能被修改,可以保证它们在使用中不被改变,该变量只能被赋值一次,被声明为final的变量必须在声明时给定初值。用来修饰数据时,包括成员变量和局部变量,对于成员变量来讲,必须在声明时、构造器或者初始化块中对它赋值, 如下图例:

3、final修饰局部变量时,既可以在定义时指定默认值,也可以不指定默认值。在变量的生存期中它的值不能被改变,不能对被final修饰的形参赋值,如下图:

4、被final修饰的类是一个最终类,所以不能够继承,如果子类继承被final修饰的父类时是会直接报错,其给的提示是要把父类的final去掉才能继承父类的所有方法,如下图例:


5、被final修饰的方法是一个最终方法,不能被重写,当重写的时候会提示其父类的方法是被final修饰的,所以不能够重写。但是被final修饰的方法,其子类是可以重载的,如下图:


总的说,final关键字的特点:
•final修饰的类是不能被继承的,因为其是一个最终类;
•final修饰的变量是一个常量,只能被赋值一次;
•final修饰的方法也不能重写,但能被重载;
•final可以修饰类、方法、变量;
•内部类只能访问被final修饰的局部变量。

二、finally块
1、finally块通常放在try、catch的后面,有时可以直接放在try 的后面,但有时会不能放。
2、finally中的语句是正常执行或者处理异常之后必须执行的语句,finally块一般是用来关闭(释放)物理资源(数据库连接,网络连接,磁盘文件等)。无论是否发生异常,资源都必须进行关闭。
3、当没有必要资源需要释放时,可以不用定义finally块。
4、finally块中的代码总能执行,这就说明无论try、catch块中执行怎样的代码,是否发生异常,还是正常运行,finally块一定会被执行,如果想要finally块不执行,除非在try、catch块中调用退出虚拟机的方法,否则finally块无论怎么样还是会被执行,如下图所示:

即便try、catch块中的代码发生了异常,但还是会执行到finally块,所以说明不管try、catch块中执行怎样的代码,finally块还是会被执行,如下图的结果显示,即使报错,但还是把finally块的内容打印出来:

final和 finally的区别相关推荐

  1. final,finally,finaliz的区别(Java)

    final,finally,finaliz的区别(Java) final-修饰符(关键字) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 a ...

  2. final 、finally的区别

    final .finally 开发工具与关键技术:工具:myeclipse 技术: final .finally 作者:吴东梅 撰写时间:2019-05-11 final和finally单词书写相似, ...

  3. Android源码中final关键字的用法及final,finally,finalize的区别

    Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...

  4. final, finally, finalize 的区别

    本文转自 一.总体区别 final 用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承. finally 是异常处理语句结构中,表示总是执行的部分. finallize 表示是o ...

  5. 关键字—final static const的区别

    关键字 解释 修饰类 修饰方法 修饰变量 final:终态 这个关键字的含义是"这是无法改变的"或者"终态的": 这个类不能被继承,这个类的所有方法都是fina ...

  6. final finally finalize 的区别

    1.final final修饰类,说明这个类不能被继承,是以个顶级类. final修饰变量,说明这个变量是常量. final修饰方法,表示这个方法不能被重写,不过可以冲在final方法. 比如有个基类 ...

  7. final,finally,finalize的区别

    1.final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为 ...

  8. java中的final, finally, finalize的区别

    final修饰符(关键字),如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为abstract的,又被声明为final的.将变量或方法声明为fin ...

  9. final/finalize/finally的区别

    一.性质不同 (1)final为关键字: (2)finalize()为方法:---垃圾回收机制中的方法(GC) (3)finally为为区块标志,用于try语句中: 二.作用 (1)final为用于标 ...

最新文章

  1. python的openpyxl模块下载_python解析.xls/.xlsx文件–openpyxl模块(第三方)
  2. html怎么把图片放到数组,HTML5中的图像数组
  3. 还不懂你现在学习的编程语言能做什么?还不懂如何进阶?过来看图
  4. Centos7.5 Ambari2.7.4部署
  5. DQL、DML、DDL、DCL的概念与区别
  6. linux-01-linux中的一些特殊符号
  7. 动手学深度学习Pytorch Task08
  8. 自学python能找到工作吗-学完python能找到工作么
  9. 神经网络在关系抽取中的应用
  10. java 加权平均_使用Java 8流计算加权平均值
  11. 微信注册验证成功之后不跳转_微信公众号申请教程,怎么创建公众号?
  12. Mac 判断终端是否走了代理服务器的方法
  13. 电脑如何关闭全屏开始屏幕
  14. 中国量子计算机芯片美国,13nm!中国量子芯片再获突破,美国专家:中国学者不睡觉吗?...
  15. Mac系统Safari浏览器快捷键大全
  16. Allegro软件操作——绘制完成后检查内容,Gerberout
  17. Hadoop---Google MapReduce(转)
  18. 实现手机来电铃声,通知铃声、警告铃声等音频定制化功能(一,添加扫描分区myimage)
  19. 测试运行以及完整代码
  20. 希望所有程序员的世界里,永远没有BUG

热门文章

  1. OpenLayer4与mapV结合蜂巢图效果
  2. Oracle中安全库存设定和更新,安全库存的作用和实际意义,SAP系统安全库存的设定方法...
  3. AGV机器人安全传感器主要供应商
  4. Mcgs跟转接小板(用电脑模拟)收发数据(通过Modbus Tcp协议)
  5. html适配怎么做,css中不同屏幕的适配怎么实现?
  6. 游戏制作之路(56)模拟水
  7. 2021年高压电工报名考试及高压电工考试试卷
  8. 收银系统要服务器吗,门店有没有必要使用收银系统,收银系统的好处又是什么?...
  9. leetCode:Letter Combinations of a Phone Number
  10. 差异是对比出来的,开博尔卡农线试用体验