final、finally、finalize的区别

1、final修饰符(关键字)。被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承。因此一个类不能既被abstract声明,又被final声明。将变量或方法声明为final,可以保证他们在使用的过程中不被修改。被声明为final的变量必须在声明时给出变量的初始值,而在以后的引用中只能读取。被final声明的方法也同样只能使用,即不能方法重写。

public  class  finalTest{final   int  a=6;//final成员变量不能被更改final   int  b;//在声明final成员变量时没有赋值,称为空白finalpublic finalTest(){b=8;//在构造方法中为空白final赋值}int do(final x){//设置final参数,不可以修改参数x的值return x+1;}void  doit(){final int i = 7;//局部变量定义为final,不可改变i的值}
}

2、finally是在异常处理时提供finally块来执行任何清除操作。不管有没有异常被抛出、捕获,finally块都会被执行。try块中的内容是在无异常时执行到结束。catch块中的内容,是在try块内容发生catch所声明的异常时,跳转到catch块中执行。finally块则是无论异常是否发生,都会执行finally块的内容,所以在代码逻辑中有需要无论发生什么都必须执行的代码,就可以放在finally块中。

3、finalize是方法名。java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者被执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

Java中final、finally和finalize的区别相关推荐

  1. 转 Java中final、finally、finalize的区别与用法

    Java中final.finally.finalize的区别与用法 1.简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承. finally是异常处理语句结构 ...

  2. [转载] java中final,finally,finalize三者的作用和区别

    参考链接: Java中final,finally和finalize Final是一个修饰符: 当final修饰一个变量的时候,变量变成一个常量,它不能被二次赋值 当final修饰的变量为静态变量(即由 ...

  3. java == hashcode,java中==和equals和hashCode的区别

    java中==和equals和hashCode的区别 == 的作用: 基本类型:比较的就是值是否相同 引用类型:比较的就是地址值是否相同(确切的说,是堆内存地址) equals 的作用: 引用类型:默 ...

  4. java中final是什么意思_java中final、finali、finally三者之间的区别是什么

    java中final.finali.finally三者之间的区别是什么 发布时间:2020-06-22 11:03:25 来源:亿速云 阅读:152 作者:Leah java中final.finali ...

  5. Java中实现接口与继承的区别

    ** Java中实现接口与继承的区别 ** 首先,先来了解一下什么是接口和继承.接口一般是使用interface来定义的.接口定义同类的定义类似,分为接口的声明和接口体,其中接口体由常量定义和方法定义 ...

  6. JAVA中Final的用法

    JAVA中Final的用法 1. 修饰基础数据成员的final 这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改.如java.lang.Math类中的 ...

  7. [转载] Java中final关键字

    参考链接: Java中的final关键字 文章目录 1 final关键字1.1 final修饰类1.2 final修饰方法1.3 final修饰属性---常量1.3.1 final修饰普通数据类型的成 ...

  8. ACAC java中final关键字

    java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...

  9. Java中synchronized和volatile有什么区别?

    Java中synchronized和volatile有什么区别? 相关内容 synchronized的问题 什么叫做不完整对象,这个怎么理解呢? 总结 ) 相关内容 1.Java语言为了解决并发编程中 ...

  10. java中成员变量和全局变量的区别_成员变量与全局变量的区别

    全局变量:也叫成员变量,是指在类中定义的变量:它在整个类中都有效 全局变量又可分为:类变量和实例变量 1.类变量:又叫静态变量  用static修饰  它可以直接用类名调用  也可以用对象调用   而 ...

最新文章

  1. [置顶]一步步构建大型网站架构
  2. Event delegate
  3. 【阿里云课程】1小时快速掌握Tensorflow核心功能,完成完整的项目实践
  4. linux makefile详解
  5. c 如何加函数锁linux,Linux下C语言中fcntl函数用法说明
  6. 使用递归方法 删除文件夹及文件夹内文件
  7. 利用idea构建hibernate
  8. try-catch(C# 参考)
  9. 基于jieba和哈工大信息检索研究中心同义词词林扩展版的同义词替换安装与测试
  10. 三国英杰之赵云传java7723_幻世三国之赵云传奇
  11. kali 密码破解汇总
  12. 给Date加上23时59分59秒
  13. rxj热血江hsf湖私服_如何使用RxJ进行React性思考和动画化移动对象
  14. matlab中clear;close;clc的作用说明
  15. 全球与中国无线视频门铃对讲机市场深度研究分析报告
  16. tableau的动态参数和横向对比堆叠柱形图
  17. 壹沓科技签约全球快消品牌巨头保乐力加,为企业数智化升级注入新动能
  18. 【C语言】万字讲解 从零到精通 (文件操作与文件函数)
  19. python 自然语言处理 形态学
  20. ESP32接入小爱同学,实现语音控制

热门文章

  1. C#快速入门(vs安装和环境配置)
  2. 母亲——摘自潘琨博客
  3. new DialogInterface.OnClickListener()报错的解决办法
  4. excle单元格斜分
  5. i_id.strip()理解
  6. java.lang.reflect.InvocationTargetException异常的一种解决方法
  7. 错误Binder invocation to an incorrect interface
  8. 排序二叉树及其Java实现
  9. jquery中attr和prop以及removeAttr和removeProp的区别
  10. DSP程序定制 F28335 F2812 简易变频器svpwm源码 简易变频器C语言源代码工程文件,直接用ccs3.3以上软件打开