final、finally、finalize的区别
final | 修饰符(修饰 变量,方法,类不可改变) | final变量 :表示常量,只能被赋值一次,赋值后值不再改变。final方法 :不能(被子类的方法)覆盖,但可以被继承。final类 :不能被继承,没有子类,final类中的方法默认是final。final不能用于修饰构造方法。 |
---|---|---|
finally | 异常处理中的程序块 | 在异常处理时,使用finally块来进行必要的清理工作,不管是否发生异常 |
finalize | 方法名 | 在垃圾回收器将内存中的对象进行清空之前,使用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()方法是在垃圾收集器删除对象之前对这个对象调用的。
final、finally、finalize的区别相关推荐
- Android源码中final关键字的用法及final,finally,finalize的区别
Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...
- final, finally, finalize 的区别
本文转自 一.总体区别 final 用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承. finally 是异常处理语句结构中,表示总是执行的部分. finallize 表示是o ...
- final finally finalize 的区别
1.final final修饰类,说明这个类不能被继承,是以个顶级类. final修饰变量,说明这个变量是常量. final修饰方法,表示这个方法不能被重写,不过可以冲在final方法. 比如有个基类 ...
- final,finally,finalize的区别
1.final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为 ...
- java中的final, finally, finalize的区别
final修饰符(关键字),如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为abstract的,又被声明为final的.将变量或方法声明为fin ...
- final fially finalize的区别
1.性质不同 (1)final为关键字; (2)finally为区块标志,用于try语句中,是异常处理语句结构的一部分: (3)finalize是一个方法 2.作用不同 (1)final 为用于标识常 ...
- final, finally, finalize的区别
final,修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为fi ...
- java基础知识1---面向对象及final,finally,finalize区别
1.面向对象(OOP)的特征 •抽象 :就是把现实世界中的某一方面提取出来,用程序代码表示,抽象出来的一般叫做类或接口. 抽象包括两个方面,一个数据抽象,另一个是过程抽象. 过程抽象 :表示功能的操作 ...
- 关键字回顾(final/finally/finalize()、Synchronized、volatile、static)
1. final, finally, finalize的区别 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承. finally是异常处理语句结构的一部分,表示总是执行 ...
- final,finally和finalize的区别
final,finally和finalize的区别 一.总体区别 final 用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承. finally 是异常处理 ...
最新文章
- 如何将两个集合合并_如何将剪切的音频文件进行合并
- 常见的反爬措施:UA反爬和Cookie反爬
- 不要放弃你的自由——答一些网友的评论
- 中文词典的扩充和组织
- 6000字跟你讲清数据运营到底是做什么的?
- C#简单游戏外挂制作(以Warcraft Ⅲ为例)
- springboot整合fluent-mybatis,报错“...is not a @FluentMybatis Entity or it‘s Mapper not defined as bean.”
- Tip | 使用GitHubDesktop提交 本地existing项目
- oppo android多大内存,OPPO R9的内存容量是多少
- vue封装了个日历组件(包含农历,节日)
- 二重积分的计算 —— 交换积分顺序(exchange the order of integration)
- 华为云下docker安装svn
- [c语言]malloc动态开辟内存空间
- 静安闸北六一计算机竞赛,【和美•喜报】新闵小学学生在2017“静安闸北二中心杯”上海市以及松江区“六·一”小学生计算机创新比赛活动中荣获佳绩!...
- 领英销售账号的优点和销售账号(专业版)的基本操作,置顶推荐
- 125家单位联合完成微生物组实验手册(Microbiome Protocol eBook)第1版
- 【前端学习笔记】浮动属性
- 计算机考研402,考研402分经验谈
- PaaS平台如何实现简化应用开发和部署
- AE基础教程第一阶段——15质量图标和效果开关
热门文章
- 成功解决SQL Server软件中出现的18470问题
- 元计算:《元计算破解生命密码》听课笔记
- Dataset:数据集集合(综合性)——机器学习、深度学习算法中常用数据集大集合(建议收藏,持续更新)
- ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on yo
- 5.1 Tensorflow:图与模型的加载与存储
- Angular2.0 基础: Form
- 跨平台网络抓包工具-Microsoft Message Analyzer
- border-radius的使用 css样式
- 计失败的一次js优化
- 虚拟机下的CentOS环境中安装Node.js