final 和 finally 关键字

简介: final 和 finally 关键字

一、final

final: 可以修饰类、成员变量和成员方法。


类:不能被继承(比如 String、StringBuilder、StringBuffer、Math,不可变类),其中所有的方法都不能被重写(这里需要注意的是不能被重写,但是可以被重载,这里很多人会弄混),所以不能同时用 abstract 和 final 修饰类(abstract修饰的类是抽象类,抽象类是用于被子类继承的,和final起相反的作用)

方法:不能被重写,但是不影响子类使用父类中被final修饰的方法

成员变量:不可变的。如果成员变量是基本数据类型,初始化之后成员变量的值不能被改变。如果成员变量是引用类型,那么它只能指向初始化时指向的那个对象,不能再指向别的对象,但是对象当中的内容是允许改变的。


什么时候使用 final 这个关键字?

       把方法锁定,以防任何继承类修改它的含义

二、finally

使用环境:


通常和try catch搭配使用,保证不管有没有发生异常,资源都能够被释放(释放连接、关闭IO流)


功能:

       当try中有return时执行顺序:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂存在栈里面,等待finally执行后再返回)

相关文章
|
8月前
|
消息中间件 Kubernetes NoSQL
c++11 关键字 override 与 final
c++11 关键字 override 与 final
|
存储 Cloud Native Linux
C++ 关键字override,final的作用
C++ 关键字override,final的作用
|
25天前
|
UED
throw和catch关键字的作用。
`throw` 和 `catch` 关键字在异常处理机制中起着至关重要的作用。`throw` 用于抛出异常,而 `catch` 用于捕获并处理异常。通过正确使用这些关键字,可以编写更加健壮和可靠的代码,提升程序的容错能力和稳定性。掌握异常处理机制是编写高质量软件的必备技能。
47 4
|
5月前
|
存储 Java 编译器
关键字: final详解
掌握final关键字的使用对于Java程序员来说至关重要。它不仅能够提高程序的安全性和清晰性,还可以帮助编译器在一些情况下进行优化。恰当使用final可以使你的Java代码更加健壮、高效。
65 0
|
8月前
|
存储 Java C++
31.C#:关键字static
31.C#:关键字static
69 1
|
Java
关键字instanceof
关键字instanceof
45 0
|
8月前
|
C#
29.C#关键字throw初步学习
29.C#关键字throw初步学习
100 0
|
设计模式 安全 Java
JUC第七讲:关键字final详解
JUC第七讲:关键字final详解
|
Java
关键字final
关键字final
51 0