final修饰符(关键字)
- 被final修饰的类不能再派生子类,称为终态类(所以,一个类不能既被final修饰又被abstract修饰)。
- 被final修饰的方法不能被子类重写(但可以重载)。
- 被final修饰的变量不能被再次赋值,有且只能有一次赋值,称为常量(静态常量可以在声明时或静态代码块中赋值,普通常量可以在声明时或构造函数中赋值)。
- final也可以声明在方法的形参上,表示形参为常量,不能被篡改(实参可以是未被final修饰的变量)。
finally是在异常处理时提供finally块来执行清除操作的。
在异常处理时,finally块中的代码始终会被执行。
try {
System.out.println("try");
int i = 1/0;
} catch (Exception e) {
System.out.println("catch");
int i = 1/0;
} finally {
System.out.println("finally"); //finally块中的代码始终被执行
}
//运行结果:
try
catch
Exception in thread "main" java.lang.ArithmeticException: / by zero
at cn.huazai.main.collection_interface.QueueExample.main(QueueExample.java:29)
finally
finalize:Object类中的一个方法
java技术允许使用finalize()方法在垃圾收集器(GC)将对象从内存中清除之前做必要的清理工作。这个方法是GC在确定了被清除对象没有被引用的情况下调用的。
finalize是在Object类中定义的,因此,所有的类都继承了它。子类可以覆盖finalize()方法,来整理系统资源或者执行其他清理工作。
网友评论