Java中final、finally和finalize的区别

Java中 final、finally、finalize 有什么区别? final、finally、finalize 是 Java 中三个不同的关键字,它们除了长得像之外,其他的(作用和含义)完全不同。它们三个的区别就好像:雷、雷锋、雷峰塔之间的区别。(是三个完全不同的东西)final、finally、finalize的区别如下:final:表示不可变性,用于修饰类、方法和变量 ,当用于类时,表示该类不能被继承;当用于方法时,表示该方法不能被子类重写(覆盖);当用于变量时,表示该变量的值不能被修改(成为常量)。 阅读详情

目录

final - 修饰符(关键字)

finally - 异常处理

finalize - 方法名


final - 修饰符(关键字)

  • 修饰类:类不能再派生。所以一个类不能同时被abstract和final声明;
  • 修饰变量和方法:不能再被更改。如果是变量的话需要初始化初始值。

 

finally - 异常处理

finally是在异常处理时提供finally块来执行任何清除操作。

不管有没有异常被抛出、捕获,finally块都会被执行。

  • try块中的内容是在无异常时执行到结束。
  • catch块中的内容,是在try块内容发生catch所声明的异常时,跳转到catch块中执行。
  • 无论异常是否发生,都会执行finally块的内容。所以在代码逻辑中有需要无论发生什么都必须执行的代码,就可以放在finally块中。

 

finalize - 方法名

功能:在垃圾收集器将对象从内存中清除出去之前做必要的清理工作(收尾工作前的清理工作)。

调用时间:由垃圾收集器在确定这个对象没有被引用时对这个对象调用;在垃圾收集器删除对象之前对这个对象调用。 

定义位置:它是在object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者被执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 

 

java面试题 谈谈final, finally, finalize的区别 一,谈谈final, finally, finalize的区别。 java面试题 立即下载

相关推荐

java 基础之final、finally和finalize的区别

主要介绍了java 基础之final、finally和finalize的区别的相关资料,需要的朋友可以参考下

Java中final、finally、finalize的区别

简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。 中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联: final:jav...

aqs53198的博客 947

告别报错!Win10下Autodock Vina 1.2.3保姆级安装与避坑指南

本文提供了Win10系统下Autodock Vina 1.2.3的完整安装与实战指南,涵盖环境配置、分子文件预处理、对接参数优化及结果分析等关键步骤。通过详细的避坑技巧和优化方案,帮助用户高效完成分子对接任务,特别适合生物信息学研究人员和药物发现领域的初学者。

weixin_29969209的博客 402

final,finally,finalize 的区别

final,finally,finalize 的区别 final 用于声明 属性(属性不可交变)、方法(方法不可覆盖)、类(类不可继承)。 finally 是 异常处理语句结构 的一部分,不管是否有异常,他的语句总是执行。 finalize 是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。

TheDevice的博客 6104

Modscan32连接上了却没数据?一文拆解所有报错(从“Device NOT CONNECTED”到“Checksum Error”)

本文深入解析Modscan32连接异常问题,从状态栏报错到数据异常,提供系统化的诊断思路和解决方案。涵盖物理层问题、配置参数错位、端口占用冲突等常见故障,帮助工程师快速定位和解决Modbus通信中的各类错误。

weixin_30384217的博客 397

架构决策之消息中间件MQ系列六-Pulsar

一、架构

恰恰虎的博客 7253

final、finally、finalize的区别

三者的区别 1.性质不同 (1)final为关键字; (2)finalize()为方法; (3)finally为为区块标志,用于try语句中; 2. 作用 (1)final为用于标识常量的关键字,final标识的关键字存储在常量池中(在这里final常量的具体用法将在下面进行介绍); (2)finalize()方法在Object中进行了定义,用于在对象“消失”时,由JVM进行调用用于对对象 进行垃圾回收,类似于C++中的析构函数;用户自定义时,用于释放对象占用的资源(比如进行 I/0操作);

m0_37290191的博客 8745

GXHT40温湿度传感器:I2C通信与CRC校验实战解析

本文详细解析GXHT40温湿度传感器的I2C通信协议与CRC校验机制,涵盖硬件连接、时序控制、数据读取及加热功能应用。通过实战案例分享优化技巧与异常处理,帮助开发者提升嵌入式系统中传感器数据的准确性与可靠性。

rgv234567的博客 241

final、finally、finalize 有什么区别?

final、finally、finalize 之间得区别如下: 1、final可以修饰类,变量,方法,修饰的类不能被继承,修饰的变量不能重新赋值,修饰的方法不能被重写。 2、finally用于抛异常,finally代码块内语句无论是否发生异常,都会在执行finally,常用于一些流的关闭。 3、finalize方法用于垃圾回收。一般情况下不需要我们实现finalize,当对象被回收的时候需要释放一些资源,比如socket链接,在对象初始化时创建,整个生命周期内有效,那么需要实现finalize方法,关

Erudite_x的博客 4522

PDMS二次开发入门:手把手教你用PML2写第一个交互式窗体工具

本文详细介绍了如何使用PML2进行AVEVA PDMS二次开发,从零开始构建交互式窗体工具。通过PML2语言的面向对象特性、即时调试能力和深度系统集成优势,开发者可以高效创建自动化设计工具、批量修改属性和定制报表系统。文章包含开发环境配置、基础语法、窗体架构设计、事件处理等实战内容,帮助读者快速掌握PDMS二次开发技能。

weixin_29281941的博客 271

MATLAB下pdf文件操作读取示例

当遇到一些需要大量数据的项目,数据的读取与储存显得尤为重要。怎样把数据从其他格式的文件中读取,并运用到程序中是很多时候我们要解决的问题。对于平常的.txt,和.xlsx文件,MATLAB有对应的函数帮助读取,但是遇到pdf文件时MATLAB很难读取内容。本文以一个操作实例提供了一个从pdf文件中读取数据的方法。

UESTC 五高考3模拟的博客 6558

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

本文转自以下博主链接: https://www.cnblogs.com/smart-hwt/p/8257330.html Java中final、finally、finalize的区别与用法 1.简单区别: final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。 2.中等区别: 虽然这个单

changleeei的博客 1152

MobaXterm简介和使用(服务器连接工具)

MobaXterm 是一个功能强大的远程计算工具,集成了许多常用的远程计算功能,包括 SSH、X11、RDP、VNC、FTP、SFTP 等。

清平乐的技术专栏 1946

【JAVA】final、finally、finalize 有什么区别?

在编写Java代码时,正确地使用final修饰符可以使代码更加稳定,finally关键字可以确保资源得到适当的清理,而finalize方法(虽然已被弃用)在一定情况下可以用于对象的清理操作。这三者相辅相成,为我们的代码提供了更高的可读性、可维护性和性能。在日常编程中,善用这三者,能够使我们的代码更加健壮且容易理解。希望通过对它们的深入理解,你能够在实际项目中更加灵活地运用这些关键字,写出更加优雅的Java代码。

AliceNo的博客 2550

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 625

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java语言中final,finally,finalize的区别?

Java语言中final,finally,finalize的区别?

java1234的博客 592

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JAVA中 final、finally、finalize 的区别

【代码】JAVA中 final、finally、finalize 的区别。

weixin_47132338的博客 595

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java三剑客:final、finally和finalize到底有什么区别?

try {// 释放资源🔑终极记忆口诀final是常量锁,变量方法类都能守;finally必执行,异常处理好帮手;finalize已过时,资源清理换新招。记住它们的特点,你的Java代码将更加健壮可靠!

全栈开发工程师 935

Java面试必备:Java 中 final、finally 和 finalize 的区别详解

在 Java 编程中,`final`、`finally` 和 `finalize` 是三个看似相似但实际上完全不同的概念。初学者经常容易混淆它们。本文将详细解释这三者的区别,并通过代码示例和流程图帮助理解。

qq_58299462的博客 1051

Java - 阐述final、finally、finalize的区别。

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net - final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词。将变量声明为final,可以保证它们在使用中不被改变,被声明为final的变量必须在声明时给定初...

了解➔熟悉➔掌握➔精通 3万+

Java基础:final、finally、finalize的区别

一、背景。 这篇文章主要介绍了final、finally、finalize的区别详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。放假在家里休息,闲来无事,想巩固巩固自己的基础知识。Java基础这个我会一直更新的,希望大家关注 收藏 点赞。 二、final、finally、finalize。 1.总体区别。 final 是java中的关键字,表示这部分是“不可修改的”。使用final可以修饰:变量、方法、类。表示变量不可...

weixin_42188778的博客 3306

【面试常问】Java中final和finally以及finalize区别?

在面试中如果问到这个问题,我们应该咋么回答呢?我就写一下我的看法如有错误还请个位指正!

Willing卡卡的博客 2989

Java中final finally finalize有什么区别

代码: public class ExceptionTest13 { public static void main(String[] args) { final int i = 100; // i = 200; public static final double Math_PI = 3.1415926; /* finally也是一个关键字,跟try连用,用在异常处理机制当中 finally语句块中的

小白找大神啊的博客 346
上一篇: Mybatis常见问题总结
下一篇: Redis中两种持久化机制RDB和AOF(面试常问,工作常用)
Longtermevolution
博客等级 码龄9年 113粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值