当前位置: 首页 > 面试题库 >

在Java中,关键字“ final”,“ finally”和“ finalize”的作用是什么?

时浩波
2023-03-14
问题内容

在Java中,目的是什么做的关键字finalfinallyfinalize履行?


问题答案:

final 可用于标记变量“不可更改”

private final String name = "foo";  //the reference name can never change

final 也可以使方法“不可替代”

public final String toString() {  return "NULL"; }

final也可以使类不是“可继承的”。即该类不能被子类化。

public final class finalClass {...}
public class classNotAllowed extends finalClass {...} // Not allowed

最后

finally在try /
catch语句中用于“始终”执行代码

lock.lock();
try {
  //do stuff
} catch (SomeException se) {
  //handle se
} finally {
  lock.unlock(); //always executed, even if Exception or Error or se
}

Java 7有一个新的try with
resources语句
,可用于自动关闭显式或隐式实现java.io.Closeable或java.lang.AutoCloseable的资源。

定案

finalize当对象被垃圾回收时被调用。您很少需要覆盖它。一个例子:

protected void finalize() {
  //free resources (e.g. unallocate memory)
  super.finalize();
}


 类似资料:
  • 本文向大家介绍Java中Final,Finally和Finalize之间的区别,包括了Java中Final,Finally和Finalize之间的区别的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将了解Java中“Final”、“Finally”和“Finalize”之间的区别。 Final 它是一个关键字。 它用于对类,方法和变量施加限制。 它不能被继承。 它不能被覆盖。 final方

  • 本文向大家介绍final、finally、finalize 的区别?相关面试题,主要包含被问及final、finally、finalize 的区别?时的应答技巧和注意事项,需要的朋友参考一下 final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变量不能在被改变,只能使用。 finally:是 try{} catch{} finally{} 最后一部分,表示不论发生

  • 问题内容: 似乎几乎没有人意识到这一点,但是Java中的“ thisreference”是最终的。在正常的编程天中,我认为可以通过在自己的类中重新定义此引用来重新定义整个实例: 为什么此引用在Java中是最终的? 问题答案: 问题不在于它是参考,而是它本身根本不是参考。是一个 关键字 ,“表示一个值,该值是对为其调用实例方法或默认方法的对象的引用”(JLS§15.8.3)。 此外,从可以重新分配变

  • 本文向大家介绍详解Java编程中static关键字和final关键字的使用,包括了详解Java编程中static关键字和final关键字的使用的使用技巧和注意事项,需要的朋友参考一下 Java static关键字以及Java静态变量和静态方法 static 修饰符能够与变量、方法一起使用,表示是“静态”的。 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以st

  • 本文向大家介绍请说明一下final, finally, finalize的区别。相关面试题,主要包含被问及请说明一下final, finally, finalize的区别。时的应答技巧和注意事项,需要的朋友参考一下 考察点:声明 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Objec

  • Dart中的和关键字有什么区别?