ITPub博客

首页 > 应用开发 > Java > java什么是 final 和 finally 的区别?

java什么是 final 和 finally 的区别?

原创 Java 作者:mingtian66 时间:2024-11-04 10:56:22 0 删除 编辑

在 Java 中,final 和 finally 是两个完全不同的关键字,虽然它们的拼写相似,但作用和使用场景截然不同。以下是它们的区别:
1. final 关键字

final 是一个修饰符,用于声明不可修改的内容,可以修饰变量、方法和类。

    final 变量:使用 final 修饰的变量是不可更改的(相当于常量)。一旦赋值,就不能再修改。例如:

    java

final int MAX_VALUE = 100;
// MAX_VALUE = 200; // 编译错误,不能重新赋值

final 方法:使用 final 修饰的方法不能被子类重写(Override),确保方法实现不会被修改。例如:

java

class Parent {
    public final void display() {
        System.out.println("This is a final method.");
    }
}

class Child extends Parent {
    // 无法重写 display 方法
    // public void display() { } // 编译错误
}

final 类:使用 final 修饰的类不能被继承。例如:

java

    final class Animal {
        // 类的内容
    }

    // class Dog extends Animal { } // 编译错误,不能继承

2. finally 关键字

finally 是一个用于异常处理的关键字,与 try-catch 块结合使用。它定义了一段代码,无论是否发生异常,都会执行 finally 块中的代码。通常用于释放资源,如关闭文件流或释放数据库连接。

示例代码:

java

try {
    // 可能会引发异常的代码
    int result = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Exception caught: " + e.getMessage());
} finally {
    System.out.println("This is the finally block. It always executes.");
}

在上面的代码中,不管是否发生异常,finally 块中的代码都会执行。
总结

    final 用于声明不可修改的变量、不可重写的方法以及不可继承的类。
    finally 用于异常处理机制中,保证代码在 try 或 catch 后一定会执行,通常用于清理资源。

这两个关键字虽然相似,但应用场景和用途完全不同。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040412/viewspace-3045082/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    589
  • 访问量
    603062