Java final关键词的简单理解

final关键词的四种用法

复制
*
* final 关键字:最终的、不可改变的
* 1、可以用来修饰一个类
* 2、可以用来修饰一个方法
* 3、可以用来修饰一个局部变量
* 4、可以用来修饰一个成员变量
*
*
* 1、final 修饰一个类:
* 格式:
* public class final 类名称 {
* // 方法区
* }
* 含义:当前的类不能更改,不能有子类(太监类)
* 不能使用一个 final 修饰的类来当父类,这个类里面的所有方法也就不能进行覆盖重写了。
*
*
* 2、final 修饰一个方法:
* 格式:
* 修饰符 final 返回值类型 方法名称(参数列表) {
* // 方法体
* }
* 含义:该方法所在的类可以被继承(即可以是其他类的父类),
* 但是这个方法不能给覆盖重写,用final修饰后就不可以更改了
* 注意事项:对于类、方法来说,关键词abstract和final不能同时使用,因为会矛盾。
* abstract 修饰的类、方法是一定要给覆盖重写的,而 final 修饰的类是不能更改的(即不能给覆盖重写的)
* 所以关键词abstract和final不能同时使用
*
*
* 3、final 修饰一个局部变量
* 一旦使用 final 修饰的局部变量,那么这个变量将不能进行更改,
* "一次赋值,终生不变"
* 注意事项:
* 对于基本数据类型来说,不可变的是变量当中的数据值
* 对于引用苏剧类型来说,不可变的是变量当中的地址值
*
*
* 4、final 修饰一个成员变量
* 对于成员变量来说,使用了 final 来修饰,那么这个变量同样也是不可以进行更改的,且需要马上赋值,否则无意义
* 假如你用final修饰来一个成员变量,没有赋值,那么该成员变量的值是默认值,且不可以更改,那么定义这个成员变量就是无意义的
* 注意事项:
* (1)成员变量具有默认值,所以用了final修饰后,必须手动赋值,不会再给默认值了。
* (2)对于final的成员变量,要么直接赋值,要么通过构造方法赋值(二者选其一)。
* (3)必须保证类当中所有的构造方法,最终都对final成员变量进行赋值。
*

final修饰成员变量

img

posted @   LeeHua  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航