Java中的final关键字

GD32模拟IIC读写DVC1124 GD32模拟IIC读写集澈AFE芯片DVC1124 阅读详情

final关键字的理解和用法


final有三种使用情况:数据、方法和类

final数据
有时需要告知编译器一块数据是恒定不变的;比如:
一个永不改变的编译时常量
一个在运行时被初始化的值,而你不希望它被改变

使用final对常量进行定义的时候,必须对其进行赋值。
一个既是static又是final的域只占一段不能改变的存储空间。
对于基本数据类型,final使数值恒定不变;
对于对象引用,final使引用恒定不变(一旦引用被初始化指向一个对象,就无法把它改为指向另外一个对象;然而对象其自身是可以修改的),同样适用于数组,它也是对象

static final和final的区别?
static+final:静态常量,编译期常量,编译时就确定值;放于方法区中的静态常量池;在编译阶段存入调用类的常量池中。
final:常量,类加载时确定或者更靠后;当用final作用于类的成员变量时,成员变量必须在定义时或者构造器中进行初始化赋值;当用final作用于局部变量只需要保证在使用之前被初始化赋值即可。

空白final
是指被声明为final但又为给定初始值的域。无论什么情况,编译器都确保空白final在使用前必须被初始化。
必须在域的定义处或者每个构造器中用表达式对final进行赋值:
否则报错:


final参数
java允许在参数列表中以声明的方式将参数指明为final,这就意味着无法在方法中更改参数引用所指向的对象。可以读参数,但却无法修改参数,这一特性主要用来想匿名内部类传递数据。

final方法
把方法锁定,以防任何继承类修改它的含义,不会被覆盖。

final和private关键字
类中的所有的private方法都隐式的指定为final的,由于无法取用private方法,所以也就无法覆盖它。可以对private方法添加final修饰符,但这不会给改方法增加任何额外的意义。

final类
final类禁止继承,所以final类中的所有方法都隐式的指定为final的,因为无法覆盖他们,在final类中可以给方法添加final修饰词,但这不会增加任何意义。


参考资料《Java编程思想》第四版

C#上位机+TensorFlow Lite 轻量化AI模型部署实战(工业级完整版,低算力工控机首选) 工业自动化轻量化AI部署指南:C# + TensorFlow Lite实战 摘要:本文针对工业自动化领域机器视觉部署的痛点,提出基于C#和TensorFlow Lite(TFLite)的轻量化解决方案。该方案完美适配低算力工控环境(J1900/2G内存),具有以下核心优势:1)极致轻量化,模型体积仅KB-MB级;2)CPU深度优化,单帧推理≤15ms;3)零环境依赖,纯C#部署;4)工业级稳定性,7×24小时运行。教程涵盖从环境搭建、模型转换到C#封装的完整流程,特别提供YOLOv8等工业常用模型的TFLi 阅读详情

相关推荐

FreeRTOS-Plus-CLI使用笔记

FreeRTOS-Plus-CLI使用笔记 一、简介 详细介绍可参考FreeRTOS-Plus-CLI官网地址入口 FreeRTOS+CLI(Command Line Interface, 命令行接口)提供了一种简单、小型、可扩展且RAM高效的方法,使FreeRTOS应用程序能够处理命令行输入。添加一条指令的步骤如下: 提供一个实现命令功能的函数 将命令映射到该功能函数 注册命令 运行命令解释器 命令行调试接口对于排查分析出现的问题提供了很好的接口,可以通过查看传感器信息判断传感器是否正常,可以查看内置

ApexYuan 6963

java final 详解

1、概念 定义:Java中,final 表示最终,也可以称为完结器,表示对象是最终形态的,不可改变的意思。 用途:final 应用于类、方法和变量时意义是不同的,但本质是一样的,都表示不可改变。 使用注意事项: 1)final 修饰变量,表示变量的值不可改变,此时该变量可被称为常量。 2)final 修饰方法,表示方法不能被子类重写; 重写概念:子类中如果创建了一个与父类中相同名称、相同返回值类型、相同参数列表的方法,只是方法体中的实现不同,以实现不同于父类的功能,这种方式被称为方法重写,又称为

春风化雨 4万+

深度学习PyTorch代码模板——模型训练框架、数据处理、绘图…

个人用深度学习代码模板:模型训练框架、数据处理、绘图等。待补充。

https://www.hyperplasma.top 1905

Java 之 final 详解

在Java中,final 表示“最终的、不可改变的、完结的”,它也是一种修饰符,可以修饰变量、方法和类。final 修饰变量、方法和类时的意义是不同的,但本质是一样的,都表示不可改变,类似 C#里的 sealed 关键字。final 修饰的变量叫做最终变量,也就是常量,修饰的方法叫做最终方法,修饰的类叫做最终类。

流华追梦的专栏 1万+

虚拟机VirtualBox下载与安装、安装Ubuntu超详细图文步骤,对一些配置问题也有所写。

自己使用过两款虚拟机,相较于VMware虚拟机来说,virtuabox虚拟机所占内存更小,只有几十兆,且完全开源不收费,里面的功能与VMware基本差不多(在日常开发、学习使用完全够用)。最主要的是,在博主自己使用VMware时经常出错,而virtualbox就更稳定一些,所以这篇是针对virtualbox的安装与一些细节部分。

l1015649309的博客 4万+

cdh zookeeper未授权访问(安全漏洞)处理

前言: 最近公司在做安全漏洞扫描。发现cdh zookeeper存在未授权访问的问题。 ZooKeeper的节点有5种操作权限: CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写) 注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限 ZooKeeper的身份的认证有4种方式: world:默认方式,相当于全世界都能访问 auth:代表已经认证通过的..

belialxing的专栏 2446

JAVA中的final修饰符

文章目录前言1.final修饰变量1.1 final修饰成员变量1.2 final修饰局部变量1.1 final修饰基本类型和引用类型变量2.final修饰方法3.final修饰类 前言 李刚老师《JAVA疯狂讲义》第5版,第5章学习笔记。 JAVA中的final修饰符可以用来修饰变量、方法和类,用于表示被修饰的变量、方法和类不可变。 1.final修饰变量 final变量获得初始值后,就无法被重新赋值,当其修饰成员变量和实例变量时,有所不同。修饰基本类型变量和引用类型变量时也有所不同 1.1 final修

a647777的博客 4141

fpga在线升级 linux_仅5000行Verilog代码、可在FPGA上跑轻量级Linux系统的RISC-V内核

本文发布于www.hackster.io,由东京理工大学的计算机学院开发,专用于教学与加速用(苏老师也一直认为这是RISC-V当前的主要方向)。目前市场上开源的RISC-V内核已经很多,但很少有公开的RISC-V计算系统是非常轻型且能跑Linux系统的。这一款RISC-V内核就可以运行在FPGA上,用Verilog编写的,需要很少硬件的资源就能跑起来,所以可以运行在一个低成本的FPGA上。来看一下...

weixin_34083807的博客 1867

Java中的final修饰符用法大全

一,final修饰类 fianl修饰符如果修饰类的话就代表该类不可以被继承,即不允许被继承; public final class NoExtends{} 如此,NoExtends类就不可以被继承了,即下面的代码就会报错 public calss ExtendsTest extends NoExtends{} 由于NoExtends类有了final的修饰而无法被调用。类似的比如Java中的String类也是final修饰的,也即String类不允许被继承不允许扩展其方法或属性。 二,final修饰成员变

weixin_51617486的博客 8232

SVM-支持向量机学习(1):线性可分SVM的基本型

1. foreword先看的是李航老师的书第7章,比较传统按照以下三节展开: 线性可分SVM 线性SVM 非线性SVM SMO算法 李航老师讲东西向来不拖泥带水,但本节也几乎用了40页的篇幅,足见涉及内容之多。7月底硬着头皮啃了下来,边看边在笔记上摘抄标注,花了2天时间对SVM有了基本认识。一个月过去了,如今重新整理为博客,再看轻松许多,并不断对比西瓜书的内容,启望达到融会贯通。西瓜书此节明显节奏轻

鸟恋旧林的博客 8679

车载网络测试实操源码_使用CAPL解析VBF文件

VBF(Versatile Binary Format)文件是一种二进制文件格式,被沃尔沃、福特、马自达、吉利等汽车制造商广泛采用。这种格式无法使用我们常规的烧录器进行刷写,通常需要进行解析转化。如果各位需要自己编写软件或脚本来刷写VBF文件,或者需要对刷写功能进行测试时,那么本篇文章就会对你非常有用。今天我们就来讲一下如何使用CAPL脚本对VBF文件进行数据解析。VBF文件包含三部分:VBF版本段、文件头段、数据段。前面的版本段和文件头段是ASCII码,包含版本、地址、校验码等信息

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 2990

详解Java中的final关键字

文章目录final 简介[^1]final 修饰变量final 修饰类final 修饰方法final 优化编码的艺术 final 简介1 final关键字可用于多个场景,且在不同场景具有不同的作用。首先,final是一个非访问修饰符,仅适用于变量,方法或类。下面是使用final的不同场景: 上面这张图可以概括成: 当final修饰变量时,被修饰的变量必须被初始化(赋值),且后续不能修改其值,实...

Heriam的博客 1073

yolov8涨点系列之Concat模块改进

yolov8涨点系列之Concat模块改进

zhang1379的博客 2950

java中final关键字

final final是java语言中的一个关键字 final表示最终的,不可变的。 final可以修饰变量以及方法,还有类等。 final修饰的类(无法被继承) final class A{ //A 是没有子孙的 } class B extends A{ //错误的, 无法从最终类A进行继承 //B类继承A类 相当于对A类功能进行扩展 //如果不希望别人对A类进行扩展,可以给A类加final关键字,如String类 } final修饰的方法(无法被覆盖,重

MTCya的博客 3万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java final 关键字

java的final关键字详解

tuoniaoxs的博客 3万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java中的关键字之final详解

final关键字 final修饰抽象类能否被继承,final修饰变量,final修饰方法,final修饰变量的初始化,final关键字的定义与作用,final修饰基本数据类型和引用数据类型的区别

m0_62729850的博客 2079

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java中的final关键字【详解】

目录 一、Java中的final关键字 1、final关键字 2、final关键字修饰类 3、final关键字修饰方法 4、final关键字修饰变量 5、final不能修饰 6、final关键字的好处 一、Java中的final关键字 1、final关键字 final的汉语意思是:最终的;决定性的;不可更改的;跟在Java中的功能一致; 2、final关键字修饰类 被final关键字修饰的类是最终类,意思就是不能有子类; “太监类”、“断子绝孙类”,比如String类; ..

訾博(ZiBo)的博客 6931

Java final关键字

总之,Java 中的final关键字是一个功能强大的工具,具有优点和缺点。它在不可变性、定义算法结构、提供代码清晰度、确保安全性和稳定性、线程安全、以及保护遗留代码等方面起着重要作用。尽管存在一些缺点,如测试和调试的帮助较少、动态性较低、灵活性有限,这些问题可能会使程序的执行更加复杂。然而,如果我们更多地关注其积极的一面而非缺点,我们可以看到final关键字在限制继承、保持值的恒定性以及防止更改和修改方面的重要性。

疯一样的码农 1295

Java-final关键字详解

final使用final关键字定义常量,使得这些值在程序运行期间保持不变。

边走、边悟、迟早变好 1418

Java中的final关键字详解

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。 本篇引自https://www.cnblogs.com/xiaoxi/p/6392154.html,一、final关键字的基本用法在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量

晓太白的博客 3178

浅析Java中的final关键字

原文 浅析Java中的final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。 1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。 在使用final修饰类的时候,要注意谨

ss810540895的博客 218

java中的关键字-final

java中的关键字-final 1.概述 在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。 **final 标记的类不能被继承 。**提高安全性,提高程序的可读性。 String类、System类、StringBuffer类 final 标记的方法不能被子类重写。 比如:Object类中的getClass()。 final 标记的变量( 成员变量或局部变量) 即称为常量 。名称大写,且只能被赋值一次。 final标记的成员变量必须在声明时或在每个构造器中或代码块中显式赋值,

xiaotai1234的博客 2086

java关键字之final

java关键字之final 学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:543120397 我们一起学Java!

u014344668的专栏 353
上一篇: Java自定义注解
下一篇: 服务器端Session、客户端Session和Cookie的区别
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值