final 关键字

发布时间:2026/10/2 23:09:29

final 关键字 一、final 关键字概述final是最终、不可改变的意思可以用来修饰类、方法、变量。 被 final 修饰之后内容就不能被修改不同修饰对象效果完全不同。二、final 修饰类1. 核心规则final 修饰的类叫最终类不能被继承没有子类但是它可以去继承别的父类。底层原理为了防止类的功能被子类篡改Java 中很多源码类都是 final 类比如String、Integer。2. 语法格式// final修饰类该类无法被继承 final class Animal{ } // 下面这行代码编译报错final类不能被继承 // class Dog extends Animal{}重点阐释final 类里面所有的方法会隐式全部带上 final 效果但是成员变量不受 final 影响可以正常修改。三、final 修饰方法1. 核心规则final 修饰的方法叫最终方法该方法可以被继承但是不能被子类重写。使用场景如果某个方法逻辑不希望子类覆盖改写就加上 final。2. 代码示例class Person{ // final修饰方法可以被子类调用但是不能重写 public final void sleep(){ System.out.println(人需要睡觉); } } class Student extends Person{ // 编译报错父类final方法不允许重写 /* Override public void sleep() { System.out.println(学生睡觉); } */ } public class TestFinalMethod{ public static void main(String[] args) { Student s new Student(); s.sleep(); // 子类可以直接继承调用父类final方法 } }注意final 和 private 区别private私有方法子类看不见本质不能重写final方法子类可以继承调用禁止重写。四、final 修饰变量变量被 final 修饰就变成常量只能赋值一次赋值完成后不能修改。注意变量分为局部变量、成员变量实例成员变量、静态成员变量规则有差异。1.final 修饰局部变量局部变量写在方法、代码块内部的变量。可以先声明后赋值只能赋值唯一一次一旦赋值不能再次修改。public class TestFinalVar{ public static void main(String[] args) { final int a; a 10; //第一次赋值允许 // a 20; //编译报错final局部变量不能二次修改 System.out.println(a); } }2.final 修饰实例成员变量普通成员变量属于对象实例成员变量属于对象必须保证对象创建完成前完成唯一一次赋值。 两种赋值时机二选一定义的时候直接赋值在构造方法中赋值❗不能在普通方法里面给 final 实例成员变量赋值。class Demo{ //方式1定义直接赋值 final int NUM1 100; final int NUM2; //方式2构造方法赋值对象创建时完成赋值 public Demo(){ NUM2 200; } }3.final 修饰静态成员变量static final静态常量staticfinal 共同修饰的变量称为静态常量。属于类直接类名。常量名访问赋值时机定义直接赋值 / 静态代码块赋值Java 开发规范静态常量名字全部大写下划线分隔。class Constants{ //静态常量规范大写 public static final int MAX_AGE 150; } public class Test{ public static void main(String[] args) { System.out.println(Constants.MAX_AGE); } }4.final 修饰引用类型变量重点易错⚠️非常容易踩坑 final 修饰引用变量引用地址不能变但是对象内部的属性可以修改。引用变量存的是对象地址final 保证地址不能重新指向别的对象对象里面的成员变量不受 final 限制可以修改。class User{ String name; public User(String name){ this.name name; } } public class TestFinalRef{ public static void main(String[] args) { //final修饰引用变量uu存储对象地址 final User u new User(小明); u.name 小红; //✅允许修改对象内部属性 System.out.println(u.name); // u new User(小李); //❌报错不能修改引用地址不能指向新对象 } }五、final 知识点总结表格修饰对象作用效果final 修饰类类不能被继承类中方法默认 final 效果final 修饰方法方法可以继承不能重写final 修饰局部变量只能赋值 1 次值不可更改final 修饰实例成员变量对象创建前完成唯一赋值不可修改static final 静态常量类加载阶段赋值全局常量名字大写final 修饰引用类型对象地址不可改变对象内部内容可以修改六、常见面试易错点final abstract能不能一起修饰类不能abstract 抽象类必须被继承final 禁止继承二者冲突。final abstract能不能修饰方法不能abstract 方法必须子类重写final 禁止重写。
延伸阅读

更多相关文章

2026/10/2 23:09:29

一张图看懂 DeepSeek V3.2 接入 TaoToken:哆啦A梦解读版 API 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 0:04:31

2026全球总决赛观赛攻略:赛程节点、时差换算与作息调整全解析

刚刷到2026全球总决赛的赛程节点,我第一反应是:拳头你是真的一点都不心疼亚洲观众。评论区在几分钟之内就被“时间很阴间”刷屏,老玩家纷纷掏出时差计算器,算完直接沉默了。说实话,我写观赛攻略写了这么多年&#xff0…

2026/10/3 0:04:31

C语言流程控制全解析:从if、循环到嵌套与调试实战

上周有个学弟拿着一小段C程序来找我,说“学长,我这段代码编译没报错,但一运行就疯狂刷屏,只能强制结束。”我扫了一眼就明白了,他在while循环里更新循环变量的语句写得位置不对,条件永远成立。这类问题在初…

2026/10/3 0:04:31

GitHub 热门: NVIDIA/Model-Optimizer

👋 Hi,我擅长 AI 大模型应用落地、意识解码与 AI 开发工具链 。 💡 创业路上,用技术换时间,一起把 AI 变成生产力 🚀 >GitHub 热门: NVIDIA/Model-Optimizer 凌晨两点,你刚把跑通了的 Qwen3.…

2026/10/3 0:04:31

Codex接入Jev模型完整指南:配置方法、本地部署与踩坑排查

最近不少人在讨论 Codex 搭配 Jev 这套玩法,我一开始没太当回事,直到自己把 Jev 接进 Codex跑了几轮编码任务之后,才明白那些说“直接起飞”的人是怎么想的。Codex 作为工具本身已经够能打了,但模型固定、上下文策略固定&#xff…

2026/10/3 0:04:31

国内大学生必备的AI写作辅助软件是哪款?

国内高校学生在论文写作过程中,越来越依赖AI辅助工具提升效率,主流方案以本土化全流程工具为核心,结合通用大模型与专业插件,覆盖选题构思、框架搭建、初稿撰写、查重降重、格式调整等关键环节,本文将深入解析当前主流…

2026/10/2 23:59:30

文献怎么分类归纳才不乱?2026 分类归纳轴实操指南与工具选型

读到三十篇以后,多数人会发现乱的并不是数量,而是没有轴。同一篇文章今天被塞进「理论」文件夹,隔天又觉得该归到「方法」里,回头两边都翻不到。下面把「文献怎么分类归纳才不乱」拆成可执行的三根轴,再说明归类之后的…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/2 18:20:53

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 0:04:31

国内大学生必备的AI写作辅助软件是哪款?

国内高校学生在论文写作过程中,越来越依赖AI辅助工具提升效率,主流方案以本土化全流程工具为核心,结合通用大模型与专业插件,覆盖选题构思、框架搭建、初稿撰写、查重降重、格式调整等关键环节,本文将深入解析当前主流…

2026/10/3 0:04:31

Codex接入Jev模型完整指南:配置方法、本地部署与踩坑排查

最近不少人在讨论 Codex 搭配 Jev 这套玩法,我一开始没太当回事,直到自己把 Jev 接进 Codex跑了几轮编码任务之后,才明白那些说“直接起飞”的人是怎么想的。Codex 作为工具本身已经够能打了,但模型固定、上下文策略固定&#xff…

2026/10/3 0:04:31

GitHub 热门: NVIDIA/Model-Optimizer

👋 Hi,我擅长 AI 大模型应用落地、意识解码与 AI 开发工具链 。 💡 创业路上,用技术换时间,一起把 AI 变成生产力 🚀 >GitHub 热门: NVIDIA/Model-Optimizer 凌晨两点,你刚把跑通了的 Qwen3.…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑