Java之final、常量的详细总结

final

  • final关键字是最终的意思,可以修饰类、方法、变量
  • 修饰类:该类被称为最终类,特点是不能被继承
    //final修饰的类,类不能再被继承了
    final class A{}
    class B extends A{}//会报错
  • 修饰方法:该方法被称为最终方法,特点是不能被重写了

  • 修饰变量:该变量只能被赋值一次

  • final可以防止指令重排序,保证多线程下的数据安全(进程是计算机最小的资源分配单位,线程是计算机中最小的执行单位)

        

注意事项

  • final修饰基本类型的变量,变量存储的数据不能被改变
  • final修饰引用类型的变量,变量存储的地址不能被改变,但地址所指向的内容是可以被改变的

常量

  • 使用了static final修饰的成员变量就被称为常量
  • 作用:通常用于记录系统的配置信息。
    public class finalTest {public static final String my_name="zhangsan";public static void main(String[] args) {System.out.println(my_name);}
    }

 使用常量记录系统配置信息的优势、执行原理

  • 代码可读性更好,可维护性也更好
  • 程序编译后,常量会被“宏替换”:出现常量的地方全部会被替换成其记住的字面量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599345.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux学习:shell脚本

目录 要求 注意 变量 变量的定义和赋值 变量的引用 变量的种类 设置环境变量 特殊符号 引号 竖杠(管道) 和大于小于号(重定向) 字符串处理 测试语句 脚本语法 判断 循环 函数 trap 前提 要把 Shell 命令放到一…

从0到1搭建文档库——sphinx + git + read the docs

sphinx git read the docs 目录 一、sphinx 1 sphinx的安装 2 本地构建文件框架 1)创建基本框架(生成index.rst ;conf.py) conf.py默认内容 index.rst默认内容 2)生成页面(Windows系统下&#xf…

windows一键休眠,一键唤醒

1.使windows睡眠不可用,cmd以管理员身份运行: powercfg.exe /hibernate off 2.桌面创建快捷键 Rundll32.exe Powrprof.dll,SetSuspendState Sleep

零信任安全模型:构建未来数字世界的安全基石

在数字化转型的浪潮中,云原生技术已成为推动企业创新和灵活性的关键力量💡。然而,随着技术的进步和应用的广泛,网络安全威胁也日益严峻🔓,传统的网络安全模型已经难以应对复杂多变的网络环境。在这样的背景…

一个浮动绝对居中的tailwindcss

今天改进图片组件,遇到个SVG绝对居中的问题。想起之前大概是通过top left来实现,由于组件的宽高需要动态输入。不能定死宽高,于是想起来问GPT。刚开始老是给一些很菜的代码,不是我想要的 气不打一处来,索性给他限死框框…

积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)

文章目录 积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)优化结果需求背景和解决方案的思考解决方案流程描述:关键代码引入easy excel新建…

uniapp中uni.navigateTo传递变量

效果展示: 核心代码: uniapp中uni.navigateTo传递变量 methods: {changePages(item) {setDatas("maintenanceFunName", JSON.stringify(item)).then((res) > {uni.navigateTo({url: /pages/PMS/maintenance/maintenanceTypes/maintenanceT…

KNN课堂(分类课堂(可用kd树/特征归一化提高精度)))

实验代码: # 导入所需要的库 import numpy as np import pandas as pd from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier # 导入数据集 df pd.…

软件无线电系列——CIC滤波器

本节目录 一、CIC滤波器 1、积分器 2、梳状滤波器 3、CIC滤波器的特性 二、单级CIC和多级CIC滤波器本节内容 一、CIC滤波器 CIC滤波器,英文名称为Cascade Integrator Comb,中文全称为级联积分梳状滤波器,从字面来看就是将积分器与梳状滤波器…

ES学习日记(十一)-------Java操作ES之基本操作

前言 此篇博客还是一些基础操作,没什么可写的,需要的同学直接抄作业进行测试就可以 上一节写了连接和测试新增操作,这一节写java操作ES的基本操作,也就是增删改查,在这里补充一点知识,我们之前用了指定的索引进行指定添加 有一个情况是,如果我们指定了…

Visual Studio 配置代码风格审查工具cpplint

文章目录 一、Visual Studio 配置代码风格审查工具cpplint1、安装2、运行3、集成到Visual Studio4、集成到Git 前言 cpplint是一个用于检查C代码风格的工具,它可以帮助我们发现潜在的编码问题,提高代码质量。cpplint遵循Google的C编码规范,通…

js通过Object.defineProperty实现数据响应式

目录 数据响应式属性描述符propertyResponsive 依赖收集依赖队列寻找依赖 观察器 派发更新Observer完整代码关于数据响应式关于Object.defineProperty的限制 数据响应式 假设我们现在有这么一个页面 <!DOCTYPE html> <html lang"en"><head><m…