使用Java中的final变量需要注意的地方。

PID不够用?试试给PID加上‘预言’能力:史密斯预测器(SP)在温控、液位控制中的实战配置 本文深入探讨了史密斯预测器(SP)在温控和液位控制中的应用,特别针对大滞后系统的PID控制难题。通过详细解析SP的核心组件、参数整定技巧及进阶应用FSP,结合西门子PLC的实战配置方案,帮助工程师有效提升控制精度和系统稳定性。文章还提供了S7-1200的完整实现步骤和调试技巧,为工业自动化控制提供了实用解决方案。 阅读详情


对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。比如说Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中。这样,每次Test类用到fNumber的时候,不会通过引用连接到Data类中进行读取,而是直接使用自己保存在类文件中的副本。
用程序说话:
Test.java:

public class Test{
 public static void main(String[] args){
  System.out.println(Data.fNumber);
 }
}


Data.java:

public class Data{
 public static final int fNumber=77; 
}

执行命令和结果:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:/Documents and Settings/zangmeng>cd ..

C:/Documents and Settings>cd ..

C:/>javac Test.java

C:/>java Test
77

C:/>


这时候,我们更改Data.java的内容:
public class Data{
 public static final int fNumber=777; 
}

然后执行如下命令:

C:/>javac Data.java

C:/>java Test
77

C:/>

这里我们看到,虽然Data.java中的fNumber已经更改为777,而且已经重新编译了,但是因为编译器把fNumber的副本保存Test类中,所以在重新编译Test类的前,Test类一直把fNumber认为是77而不是777。下面我们变异Test.java,再执行,看看结果。

C:/>javac Test.java

C:/>java Test
777

C:/>
这时候,我们看到,重新编译的Test类将新的777数值封装到了自己类中。

整个过程如下:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:/Documents and Settings/zangmeng>cd ..

C:/Documents and Settings>cd ..

C:/>javac Test.java

C:/>java Test
77
//在这里改变了Data.java的内容
C:/>javac Data.java

C:/>java Test
77

C:/>javac Test.java

C:/>java Test
777

C:/>

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

相关推荐

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文深入解析了OpenCV图像去畸变的原理与实战技巧,详细对比了标准透视、鱼眼及全能型omnidir三种校正函数的核心参数调优方法。通过分析alpha、balance、centerX/Y及focalScale四大参数对输出效果的影响,并结合完整代码与效果对比图,帮助开发者精准校正镜头畸变,提升计算机视觉任务精度。

weixin_29046611的博客 341

final可以用来修饰什么?

final可以修饰类、方法、成员变量 当final修饰类的时候,说明该类不能被继承 当final修饰方法的时候,说明该方法不能被重写 在早期,可能使用final修饰的方法,编译器针对这些方法的所有调用都转成内嵌调用,这样提高效率(但到现在一般我们不会去管这事了,编译器和JVM都越来越聪明了) 当final修饰成员变量时,有两种情况: 如果修饰的是基本类型,说明这个变量的所代表数值永不能变(不能重新赋值)! 如果修饰的是引用类型,该变量所的引用不能变,但引用所代表的对象内容是可变的! 值得一说的

weixin_45748559的博客 2922

PP触发EWM产生PMR捡配

PP触发EWM产生PMR捡配 前言 PMR: Production Material Request 在流程订单/生产订单下达后,可以在EWM中产生PMR,在EWM中, PMR其实代表了ERP中的流程订单/生产订单。 You can use SAP EWM in conjunction with the following PP application components: • Production Orders • Process Orders • Repetitive Manufacturing •

ZevYang的博客 1918

final修饰符以及用法

final修饰符以及用法 final的主要用法有以下四种: 一、用来修饰成员变量。 (1)对于成员变量来讲,我们必须在声明时、构造方法或者初始化中对它赋值。成员变量只能被赋值一次且它的值无法被改变。 (2)final修饰的成员变量一般命名都是大写。为什么final修饰的成员变量的命名要用大写呢?因为final修饰的成员变量都变成了常量,当其他人阅读你的代码时候,一看便知这是常量。 (3)对于final修饰的静态成员变量,只能在静态的初始化块中初始化,不能在构造器、对象的初始化块中初始化。 二、用来修饰局部变

weixin_50179223的博客 3249

单目视觉定位:深入解析PNP算法在机器人导航中的实战应用

本文深入解析了PNP算法在机器人单目视觉定位中的核心原理与实战应用。通过拆解坐标变换四步,详细阐述了如何从二维图像点反求相机三维位姿。文章结合OpenCV的solvePnP函数,提供了算法选择、参数调优及结果后处理的实用指南,并针对机器人导航中的特征匹配、尺度不确定性等挑战,给出了鲁棒性优化与实时性平衡的解决方案。

weixin_29083649的博客 419

别再手动画柜子了!用EPLAN导入STEP模型,5分钟搞定一个标准机柜

本文详细介绍了如何利用EPLAN Pro Panel的3D布局功能,快速将STEP模型转化为智能机柜宏,大幅提升电气工程设计效率。通过实战步骤解析,包括模型导入、智能解析、安装面定义及拼柜技巧,帮助工程师5分钟内完成标准机柜设计,避免传统手动建模的尺寸偏差问题。

weixin_26875109的博客 435

final修饰符的三种使用场景

final有三种使用场景,分别是修饰变量、方法和类,无论哪种修饰,一旦声明为final类型,你将不能改变这个引用了,编译器会检查代码,如果你试图再次初始化,编译器会报错。下面我来具体说说每一种修饰场景。 1、修饰变量 当final修饰一个变量的时候一般把他作为常量,通常和static关键字配合使用。例如: private static final String ISSUCCESS_FLAG =

路漫漫,水迢迢 5635

告别‘线束丛林’:手把手拆解车身域控制器(BCM/PEPS/网关)的硬件选型与PCB布局要点

本文深入解析车身域控制器的硬件选型与PCB布局要点,涵盖主控MCU选择、通信接口设计、电源架构优化及EMC设计等关键环节。通过实战案例分享,帮助工程师解决高密度集成带来的电源完整性、热管理和信号隔离挑战,实现更稳定高效的汽车电子系统设计。

weixin_42567279的博客 396

使用Java中的final变量需要注意的地方

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 false f

bsbgong的专栏 2132

新华DCS系统仿真测试方法详细介绍

新华DCS ICAN3.1系统是应用广泛并且功能非常强大的国产DCS系统。具有管理虚拟CPU并仿真运行的功能。并且上位机画面可以与虚拟DPU数据实时同步仿真。具体仿真方法如下所示: 1、 需要设备及软件: 2、步骤如下: 2.1硬件步骤: 1)电脑开机。 2)交换机连接电脑网卡。 3)交换机上电运行。 2.2软件步骤: 1)设置电脑IP 一般配置IP为A网工程站IP。 222.222.221.201/255.255.255.0 2)建立虚拟DPU 登录 D:\iCAN\Program\Vxcu 文件夹。

lw_waston的博客 6894

【OpenCV C++】基本绘图操作

OpenCV C++基本绘图操作程序说明代码运行效果 程序说明 // 程序描述:OpenCV C++基本绘图操作 //参 考:毛星云《OpenCV3编程入门》 // 操作系统: Windows 10 64bit // 开发语言: C++ // IDE 版 本:Visual Studio 2019 // OpenCV版本:4.20 代码 main函数写法很简单,先创建空表Mat图像,然后点用函数绘制化学原子图,接着绘制组合图,最后显示图像。 //-------------------------

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 765

final变量存在哪 java_使用Java中的final变量需要注意的地方。

对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。比如说Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中。这样,每次Test类用到fNumber的时候,不会通过引用连接到Data类中进行读取,而是直接使用自己保存在类文件中的...

weixin_34308792的博客 928

TC3XX - MCAL知识点(九):PWM EB-tresos配置说明及代码浅析

脉冲宽度调制(PWM)驱动器负责提供与AUTOSAR指定的PWM信号生成相关的标准服务。PWM通道的底层定时器驱动是GTM (TOM或ATOM片)或CCU6 (T12或T13片)定时器通道。软硬件匹配关系如下:PWM直接引用的是GTM与CCU6模块,然后GTM与CCU6再关联到Port的,根据软硬件匹配关系,也能调用中断来使用,本例子没使用中断。CCU6是一个高分辨率的16位捕获和比较单元,具有特定的应用模式,主要用于交流驱动控制。特殊的工作模式支持控制无刷直流电机使用霍尔传感器或反电动势检测。

梦想技术家 2887

Java的final变量需要注意地方

对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。比如说Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中。这样,每次Test类用到fNumber的时候,不会通过引用连接到Data类中进行读取,而是直接使用自己保存在类文件中的

daniel112的专栏 1060

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: java语言语法细节(自用)
下一篇: HTTP 1.1状态代码以及它们对应的状态信息和含义
DeepNightTwo
博客等级 码龄21年 3粉丝 25原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值