19_权限修饰符_final
1.继承权限、赋值权限 final
1.1final 定义
1.2final 用法
1.3final 修饰类
1.4final 修饰方法
1.5final 修饰成员变量
1.6final 修饰局部变量
1.7final 代码案例
//final类,不能有任何子类,不能有抽象方法,不能被abstract修饰 final /*abstract*/ class FinalClass { int age = 99; void method() { System.out.println("FinalClass's method!"); } } class Fu /*extends FinalClass*/ { //final修饰成员变量,当且仅当被初始化一次(直接赋值) final int age = 99; final String name; //final修饰成员变量,(通过构造函数赋值) public Fu(String name) { this.name = name; } //被final修饰后的成员变量,不能有setter方法 /* public void setName(String name) { this.name = name; }*/ //final修饰成员方法,该类的子类将无法重写该方法 final void finalMethod() { System.out.println("it's finalMethod!"); } } class Zi extends Fu { //父类有含参构造,那么子类也必须有含参构造,并且为父类构造赋值super(x) public Zi(String name) { super(name); } public void method() { //final修饰局部变量(基本数据类型),第一次被赋值后,该变量值将无法被修改 final int age; age = 99; /*age = 88;*/ //final修饰局部变量(引用类型),第一被赋值后,该引用的地址值将不能改变(对象内容是可以改变的) final Fu fu = new Fu(""); /*fu = new Fu("");*/ System.out.println(age); } //父类方法被final修饰后,将不能被子类重写 /* void finalMethod() { }*/ }
2.访问权限
2.1 public
2.2 protected
2.3 (default)
2.3 private
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界