Java中final、finally 和 finalize 的区别

来源:互联网 发布:通达信短线决策源码 编辑:程序博客网 时间:2024/06/06 12:55

1.final:Java中的修饰符、关键字

final是java中的修饰符,用于修饰属性(变量)、方法、类。代表属性值不可修改、方法不可覆盖、类不可继承。

当变量被声明final时,必须要给定初值,而在以后的引用中只能读取,不能修改。

实例:


上图我们定义了final 字符串,当我们修改这个字符串变量时,代码会编译报错。


当方法被声明final时,改方法只能使用,不能重载重写。

实例:




当类被final声明时,意味着改类不能被继承。所以,一个类本能被同时声明abstract抽象类和final类。

实例:



2.finally

finally是java异常处理机制的一部分。不管异常有没有发生,处在finally里面的代码都会执行。使用finally可以维护对象的内部转态,并且可以清理非内存资源。特别在使用java资源的情况下,如IO流,如果把close()方法都放在finally里面,就会大大减少程序资源的开销。

try {//异常捕获} catch (Exception e) {//处理异常}finally{//必须执行的代码,如close方法等}

3.finalize

finalize是java中的一个方法名。当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。finalize 的主要目的是在不可撤消地丢弃对象之前执行清除操作。例如,表示输入/输出连接的对象的 finalize 方法可执行显式 I/O 事务,以便在永久丢弃对象之前中断连接。对给定的任何对象,java虚拟机最多只调用一次finalize()方法。

1 0
原创粉丝点击