首页 > 其他分享 >介绍下final ,finally 和 finalize三者的区别

介绍下final ,finally 和 finalize三者的区别

时间:2023-11-15 16:14:09浏览次数:33  
标签:Java finalize finally 修饰 方法 final

finalfinallyfinalize在Java中都是关键字,但它们的用途和含义都是完全不同的。

  1. finalfinal是一个修饰符,可以用于修饰类、方法和变量。

    • final修饰一个类时,表示这个类不能被继承。
    • final修饰一个方法时,表示这个方法不能被覆盖(Override)。
    • final修饰一个变量时,表示这个变量的值一旦被初始化,就不能被改变。对于基本类型,这意味着其数值不能改变,对于引用类型,这意味着你不能改变引用的对象,但对象的内部状态是可以被改变的。
  2. finallyfinally是Java中异常处理结构的一部分,用于指定无论异常是否发生,都必须执行的代码块。通常,finally块用于释放资源,如关闭文件流、数据库连接等。

  3. finalizefinalizeObject类的一个方法,它在垃圾收集器准备回收对象所占内存之前被调用。在Java 9及以后的版本中,finalize方法已被废弃,因为它可能导致各种问题,包括性能下降、过早或过晚的资源清理等。取而代之的是使用try-with-resources结构或者显式的资源管理。

标签:Java,finalize,finally,修饰,方法,final
From: https://www.cnblogs.com/new-one/p/17834077.html

相关文章

  • static、final、private是否可以修饰抽象方法?
    1、static和abstract:是不能共存的。static是为了方便调用,abstract是为了给子类重写,没有方法体。2、final和abstract:是互相冲突的,final修饰的方法不能重写,而abstract修饰的方法就是为了让子类重写的。3、private和abstract:也是冲突的,private修饰的方法不能被继承,也就是不能够被重......
  • P9723 [EC Final 2022] Chinese Checker
    原题链接模拟赛出了,赛时被这个六芒星的形状吓住了,感觉被降智了,呜呜。其实只要转化一下就可以愉快地爆搜了。可以将这两条线看做坐标轴,然后把整个六芒星的的形状转化成横平竖直的样子,大概长这样(\(1\)表示是棋盘):000010000000000000000110000000......
  • final关键字的作用
    目录1.修饰类时2.修饰方法时3.修饰属性和局部变量时3.1修饰局部变量时3.2修饰成员变量时3.3修饰类变量时4.final与普通变量的区别5.final用于引用1.修饰类时1.只能是公共的(public)就算不写也是public2.被final修饰的类不可以被继承//前面默认有个public写不写都行finalcla......
  • finalshell报错java.net.UnknownHostException: node2
    前几天是node3连不上,今天早上写作业发现node2又连不上了]$systemctlstatusnetwork.service●network.service-LSB:Bringup/downnetworkingLoaded:loaded(/etc/rc.d/init.d/network;bad;vendorpreset:disabled)Active:active(exited)since二2023-11-1408:......
  • 题解 AT_codefestival_2016_final_f【Road of the King】
    注意到当前移动到的位置并不重要,重要的是经过的点数和\(1\)所在强连通分量大小,因此把它们放进状态里:设\(f_{i,j,k}\)表示进行\(i\)次移动,经过了\(j\)个不同的点,此时\(1\)所在的强连通分量大小为\(k\)的方案数。考察下一次移动到的点的情况:没有访问过:共有\(n-j\)......
  • final(最终)、final修饰类、final修饰方法、final修饰变量
          ......
  • 2019-2020 ICPC, NERC, Northern Eurasia Finals
    组队打\(\rmICPC\),队友是\(\rmfishead\)和\(\rmLiang_Yusong\)。只过了五个题,还是太菜了。开局\(6\min\)我先把\(\rmB\)切了,然后\(\rmLYS\)在\(34\min\)时过了\(\rmE\)。这个时候\(\rmfishead\)切\(\rmL\),做法假了,罚时\(++\)。然后我开\(\rmD\),......
  • final关键字与static关键字
    final关键字static关键字注意static关键字修饰的,主要是通过类名.访问。实例出来的对象想访问,也是可以的,但是系统不推荐静态的方法只能直接访问静态的变量和方法final关键字与static关键字一起应用于常量eg......
  • 题解 P6880 [JOI 2020 Final] オリンピックバス
    洛谷。题意应该显然,注意最多只能翻转一条边,并且可以不翻转。分析首先观察数据范围\(2\leN\le200\),\(1\leM\le5\times10^4\),可以发现我们的\(N\)和\(M\)并不是同级的,因此,在众多的最短路算法中,我们应当选择不加堆优化的dijkstra算法,并且使用邻接矩阵,这是\(O(n^2)......
  • 题解 P6878 [JOI 2020 Final] JJOOII 2
    好久没写题解,水一篇。题意题意显然。分析看到这道题,我们就应该进行一个小贪心,对于最左边某一字符,直到最右边的这一字符,我们不会在中间删除同样的字符,不然则可以保留这一字符,将两边往内缩。也就是说,我们确定了最左边的J后,那么留下最后一个J必然是当前这个J的后面的第\(......