当前位置: 首页 > news >正文

【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】面向对象之封装
http://www.lryc.cn/news/136241.html

相关文章:

  • 问道管理:机器人概念走势活跃,新时达涨停,拓斯达、丰立智能等大涨
  • elementui 修改日期选择器el-date-picker样式
  • 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam
  • 数据可视化:图表绘制详解
  • 【中危】Apache Ivy<2.5.2 存在XXE漏洞 (CVE-2022-46751)
  • C#使用自定义的比较器对版本号(编码)字符串进行排序
  • AI在日常生活中的应用:从语音助手到自动驾驶
  • Windows10查看图片的分辨率
  • Spring事务和事务传播机制(2)
  • 计算机视觉 -- 图像分割
  • ubuntu18.04复现yolo v8之CUDA与pytorch版本问题以及多CUDA版本安装及切换
  • Redis三种模式——主从复制,哨兵模式,集群
  • mysql8.0.31新增只读远程普通用户
  • 揭开路由协议隐藏的风险
  • 图片因固定宽高被拉伸了?object-fit:一个神奇的属性
  • 客户案例:中圣科技—CAC2.0防范盗号威胁,加固安全防线
  • pandas数据分析40——读取 excel 合并单元格的表头
  • Java后端开发面试题——微服务篇总结
  • 第十一章MyBatis查询专题
  • 测试驱动开发(TDD)
  • 深度学习|CNN卷积神经网络
  • 【洁洁送书第五期】为什么我们要了解可观测性工程
  • 将vue项目通过electron打包成windows可执行程序
  • 【0基础入门Python Web笔记】三、python 之函数以及常用内置函数
  • 相交链表00
  • 怎样压缩mp4视频大小?
  • ubuntu20.04 安装使用 Indemind 双目相机
  • 一文读懂设备管理系统:是什么、谁需要、怎样选
  • 删除链表的中间节点
  • Q/GDW 1597-2015《国家电网公司应用软件系统通用安全要求》