【JavaSE】详解final关键字

简介: 【JavaSE】详解final关键字

在Java中,final可以用来修饰类、方法和变量。final修饰类,表示该类无法被继承,并且此类的设计已被认为很完美而不需要进行修改或扩展。final修饰类中的方法,表示不可以被重写;也就是把该方法锁定了,以防止继承类对其进行更改。final修饰类中的变量,表示该变量一旦被初始化便不可改变。

final用来修饰一个类:此类不能被其它类继承。

final用来修饰方法 :表明此方法不可以被重写。

final用来修饰变量:此时变量就相当于常量。

final的使用注意事项

  • final修饰的属性又叫常量,一般用XX_XX来命名。
  • final修饰的属性在定义时必须赋初值,并且以后不能被修改,可以在如下位置赋初值。
    ①在定义时 ②在构造器中 ③在代码块中
  • 如果final修饰的属性是静态的,则初始化的位置只能是在定义时或在代码块中,不能在构造器中赋初值。

    原因是构造器只有创建对象时才会被调用,而static是在类加载时就会完成创建。如果在构造器里初始化,有可能类加载了,但是构造器没有被调用,就无法赋初值,而final修饰的属性必须赋初值。
  • final修饰的类不能被继承,但是可以实例化对象。
  • 如果不是final修饰的类,但是含有final修饰的方法,虽然该方法不能被重写,但是可以被继承。
  • final不能修饰构造器
  • final和static往往搭配使用,不会导致类的加载,效率更高。


    创作不易希望各位多多支持 大家一起互相进步!
    传送门;
    个人主页
    【JavaSE】面向对象之多态
    【JavaSE】面向对象之继承
    【JavaSE】面向对象之封装
相关文章
|
存储 Rust 程序员
Rust中数据类型详解:从整数到字符串
本文将详细解析Rust编程语言中的基本数据类型,包括整数、浮点数、布尔值、字符与字符串。我们将深入探讨每种数据类型的特性、使用场景以及它们在Rust中的实现方式,帮助读者更好地理解和应用这些基础元素。
|
消息中间件 缓存 NoSQL
|
Windows
[✔️]exe引入ffmpeg后,在win7上应用程序无法正常启动(0xc0000005)
[✔️]exe引入ffmpeg后,在win7上应用程序无法正常启动(0xc0000005)
1746 0
|
设计模式 安全 编译器
【代码片段】【C++】C++11线程安全单例模式
【代码片段】【C++】C++11线程安全单例模式
142 1
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
378 4
|
数据可视化 搜索推荐 Devops
从DevOps实践者的角度谈谈云效Flow
一名DevOps实践者参与了云效流水线Flow的评测,认为Flow对新手友好,具有可视化编排功能。但在上手过程中,了解相关术语和流畅编排设计可能构成一些挑战。Flow的功能基本满足需求,但开放性有待提高,建议开放插件开发以丰富生态。YAML编排作为趋势,Flow在易用性和功能完善上仍有进步空间,如语法检查、智能提示等功能。此外,产品模块间的逻辑性和交互清晰度也需改进。总结来说,Flow功能齐全,适合中小企业,但在用户体验和生态建设上有改进余地。
536 3
|
JavaScript Java 测试技术
基于SpringBoot+Vue的个人理财系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的个人理财系统的设计与实现(源码+lw+部署文档+讲解等)
218 1
|
测试技术 开发工具 git
git 提交规范
git 提交规范
974 2
|
SQL 监控 druid
MySQL线程池导致的延时卡顿排查
## 问题描述 简单小表的主键点查SQL,单条执行很快,但是放在业务端,有时快有时慢,取了一条慢sql,在MySQL侧查看,执行时间很短。 通过Tomcat业务端监控有显示慢SQL,取slow.log里显示有12秒执行时间的SQL,但是这次12秒的执行在MySQL上记录下来的执行时间都不到1ms。 所在节点的tsar监控没有异常,Tomcat manager监控上没有fgc,Tomcat实
2142 0
MySQL线程池导致的延时卡顿排查
|
域名解析 Ubuntu 网络协议
如何在 Ubuntu 20.04 上安装和使用 Docker Compose
Docker Compose 是一个命令行工具,通过它你可以定义和编排多容器 Docker 应用,本文将为大家讲解如何在 Ubuntu 20.04 上安装最新版的 Docker Compose。
20183 0
如何在 Ubuntu 20.04 上安装和使用 Docker Compose