首页 > 其他分享 >final、finally与finalize的区别

final、finally与finalize的区别

时间:2023-01-15 10:02:58浏览次数:35  
标签:Java finalize 收集器 finally 方法 final


final、finally与finalize的区别

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

2.中等区别: 虽然这个单词在Java中都存在,但是并没太多关联:

final:java中的关键字,修饰符。

A).如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个 类不能同时被声明为abstract抽象类的和final的类。

B).如果将变量或者方法声明为final,可以保证它们在使用中不被改变. 1)被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。

C)被声明final的方法只能使用,不能重载。

finally:java的一种异常处理机制。

A) finally是对Java异常处理模型的最佳补充。finally结构使代码总会执行,而不管无异常发生。

B) 使用finally可以维护对象的内部状态,并可以清理非内存资源。特别是在关闭数据库连接这方面,如 果程序员把数据库连接的close()方法放到finally中,就会大大降低程序出错的几率。

finalize:Java中的一个方法名。

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

B)finalize()方法是 在垃圾收集器删除对象之前对这个对象调用的。


标签:Java,finalize,收集器,finally,方法,final
From: https://blog.51cto.com/keyila/6008234

相关文章

  • final
    变量:一旦赋值不能更改类:不能被继承方法:可以重载不能重写1.变量(1)修饰成员变量类变量(被static修饰的变量):必须声明初始值或者在静态初始化块中指定初始值成员变......
  • idea var 总是有final
    转自:https://blog.csdn.net/Grantr/article/details/119184963解决idea中快捷键ctrl+alt+v多生成的finalctrl+alt+v快捷键的作用是自动提取并补充对应类型的变量名,如 ......
  • 【转】FinalShell Linux版安装及教程
      转自:http://www.hostbuf.com/t/1059.htmlFinalShellLinux版安装及教程wntr 2017-06-1917:20  65月前  590984 阅读 0 回复 FinalShell ......
  • final的作用
    final即最终的修饰类:表示该类不可被继承修饰方法:表示该方法不可以被子类重写,但可重载修饰变量:则该变量只能一次性赋值,即一旦赋值就不可以更改它的值修饰类变量:只能在......
  • Java final关键字修饰对象
    结论:final修饰对象,对象的内容可变,引用不可变。final应用于类、方法和变量、对象时意义是不同的,但本质是一样的,都表示不可改变。但是修饰对象时要注意:因为对象是引用类......
  • Java String为什么被设计为final的
    文章目录String被设计为不可变是因为String对象是缓存在字符串池中的,因此这些缓存的字符串是可以被多个客户端访问的,如果一个客户端的访问影响了别的客户端的行为,这样就存在......
  • abstract; final; 属性赋值的先后顺序; 静态变量与实例变量的区别; instanceof关键字的使
    abstract注意事项。abstract不能修饰:private,static,final这些方法。abstract抽象要重写----》用来子类继承实现方法的1、abstract不能用来修饰属性、构造器等构造器不能......
  • final
    finalfinal修饰属性--常量,初始化后不可修改final修饰方法--不能被子类重写final修饰类--不能被继承final不能修饰构造方法--构造方法本身就本能被重写,加了只会......
  • C++用finally函数实现当前函数运行结束自动执行一段代码
    我们的需求可能有这样的需求,fun(){    xx;    xx;    xx;    //希望在这里能自动执行一段设定好的代码,实现一些自动清除啥啥啥的操作}核心......
  • day09-JAVAOOP匿名类和方法传参final包static关键字
    day09-JAVAOOP课程目标1.【理解】什么是内部类2.【掌握】匿名内部类3.【掌握】引用数据类型作为方法的参数4.【理解】final关键字的使用5.【理解】包的定义及使......