Java中static、final、static final的区别

文章目录
- final
- static
- static final
final
final可以修饰:属性,方法,类,局部变量(方法中的变量)
final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。
final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。
final修饰的属性表明是一个常数(创建后不能被修改)。
final修饰的方法表示该方法在子类中不能被重写,final修饰的类表示该类不能被继承。
对于基本类型数据,final会将值变为一个常数(创建后不能被修改);但是对于对象句柄(亦可称作引用或者指针),final会将句柄变为一个常数(进行声明时,必须将句柄初始化到一个具体的对象。而且不能再将句柄指向另一个对象。但是,对象的本身是可以修改的。这一限制也适用于数组,数组也属于对象,数组本身也是可以修改的。方法参数中的final句柄,意味着在该方法内部,我们不能改变参数句柄指向的实际东西,也就是说在方法内部不能给形参句柄再另外赋值)。
static
static可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类)。
static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变。
static修饰的属性所有对象都只有一个值。
static修饰的属性强调它们只有一个。
static修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能调用static修饰的属性、方法等
static和“this、super”势不两立,static跟具体对象无关,而this、super正好跟具体对象有关。
static不可以修饰局部变量。
static final
static final和final static没什么区别。
static修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改)。static final修饰的属性表示一旦给值,就不可修改,并且可以通过类名访问。
static final也可以修饰方法,表示该方法不能重写,可以在不new对象的情况下调用
结束语 Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!
相关文章:
Java中static、final、static final的区别
文章目录 finalstaticstatic final final final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。 final修…...
文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《交直流配电网中柔性软开关接入的规划-运行协同优化方法》
这个标题涉及到交直流配电网中柔性软开关接入的规划-运行协同优化方法。下面是对这个标题各部分的详细解读: 交直流配电网: 这指的是一个电力系统,同时包含交流和直流电力传输的元素。这样的系统可能结合了传统的交流电力传输和近年来兴起的直…...
OSG文字-osgText3D(5)
osgText3D 三维立体文字比二维平面文字显示效果更好,相对二维平面文字,它有非常好的立体显示效果。 在实际虚拟现实项目中,过多使用三维立体文字会降低染效率,加重渲染负担,相对平面二维文字,它占用的内存是…...
ASN.1 编码规则概述(一)
文章目录 一、ASN.1二、 ASN.1的标准编码规则分类三、描述ASN.1记法的标准四、描述ASN.1编码规则的标准 一、ASN.1 ASN.1(Abstract Syntax Notation One) 是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法,它提供了一套正式、 无…...
STM32 中断系统
单片机学习 目录 文章目录 前言 一、中断系统 1.1 什么是中断 1.2 中断优先级 1.3 中断嵌套 1.4 C语言中的中断程序 二、STM32的中断通道和中断向量 2.1 中断通道 2.2 嵌套向量中断控制器NVIC 2.2.1 什么是NVIC 2.2.2 NVIC基本结构 2.2.3抢占优先级和响应优先级 2.2.4 NVIC的优…...
电磁场信息论及先进MIMO (黄大年茶思屋座谈) 笔记
天线阵的负载动态调控,动态阻抗匹配网络,实时跟着扫描角度的变化而变化,可能突破Hannan极限。 新的天线构架: 周期 —》非周期 每个单元不一样 动态可调,可重构 每个天线多端口或多模式 多层天线 非周期结构天线的增…...
Arm64版本的centos编译muduo库遇到的问题的归纳
环境:Mac m2 pro下的VMware虚拟机中Arm64 centos ./build.sh 执行后提示如下 cmake -DCMAKE_BUILD_TYPErelease -DCMAKE_INSTALL_PREFIX…/release-install-cpp11 -DCMAKE_EXPORT_COMPILE_COMMANDSON /root/package/muduo-master – Boost version: 1.69.0 – Co…...
leetcode:495. 提莫攻击
一、题目 链接:495. 提莫攻击 - 力扣(LeetCode) 函数原型:int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration) 二、思路 遍历数组timeSeries,如果 元素值duration < 下一元素值 &#x…...
《微信小程序从入门到精通》---笔记1
小程序,我又来学习啦!请多关照~ 项目驱动 小程序开发建议使用flex布局在小程序中,页面渲染和业务逻辑是分开的,分别运行在不同的线程中。Mini Program于2017年1月7号正式上线小程序的有点:跨平台、开发门槛低、开发周…...
Python---函数定义时缺省参数(参数默认值)---放最右边
缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时 可 不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)。 比如:原先的代码&#…...
深度学习之自监督模型汇总
1.BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding paper:https://arxiv.org/pdf/1810.04805v2.pdf code:GitHub - google-research/bert: TensorFlow code and pre-trained models for BERT Abstract:我们引入了一种名为 BE…...
竞赛 : 题目:基于深度学习的水果识别 设计 开题 技术
1 前言 Hi,大家好,这里是丹成学长,今天做一个 基于深度学习的水果识别demo 这是一个较为新颖的竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/pos…...
oracle的debjob挂載及查詢
背景 有一個需求需要定時去執行一個produce,可以使用oracle的dbjob定時執行,相比較之前的vbs更加絲滑 --傳遞produce 開始的時間 頻率 declarea number;beginDBMS_JOB.SUBMIT(a,xx_warehouse_daliy_record_p;,to_date(202311230800,yyyymmddhh24mi),…...
Pycharm创建项目新环境,安装Pytorch
在python项目中,很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 首先我们需要去官网下载conda。然后在Pycharm下面添加conda的可执行文件。 用conda创建新环境。 二、…...
assert断言
1.引入 assert.h 头⽂件定义了宏 assert() ,⽤于在运⾏时确保程序符合指定条件,如果不符合,就报错终⽌运⾏。这个宏常常被称为“断⾔”。 2.应用 assert(p ! NULL); 上⾯代码在程序运⾏到这⼀⾏语句时,验证变量 p 是否等于 …...
我们对凌鲨的一次重构
在10月我们对凌鲨进行了一次重构,把所有鸡肋的功能都删除了。 新版本界面 老版本界面 我们干掉的功能 移除沟通频道功能 沟通频道类似slack功能,用于团队沟通。由于国内有大量的沟通软件,比如企业微信,飞书,钉钉等。…...
【JVM】一篇通关JVM垃圾回收
目录 1. 如何判断对象可以回收1-1. 引用计数法1-2. 可达性分析算法1-3. 四种引用强引用软引用弱引用虚引用终结器引用 2. 垃圾回收算法2-1. 标记清除2-2. 标记整理2-3. 复制2-4. 总结 3. 分代垃圾回收4. 垃圾回收器5. 垃圾回收调优 1. 如何判断对象可以回收 1-1. 引用计数法 …...
【小沐学写作】原型设计工具汇总(Axure RP)
文章目录 1、简介2、Axure RP2.1 工具简介2.2 工具特点2.2.1 互动事件2.2.2 条件逻辑2.2.4 工作表格2.2.5 多状态容器2.2.6 数据驱动接口2.2.7 自适应视图2.2.8 流程图 2.3 工具安装2.3.1 安装2.3.2 运行 2.4 使用费用2.5 工具体验2.5.1 登陆框制作 3、其他3.1 Figma3.2 Adobe …...
WebSocket 鉴权策略与技巧详解
WebSocket 作为实时通信的利器,越来越受到开发者的青睐。然而,为了确保通信的安全性和合法性,鉴权成为不可或缺的一环。本文将深入探讨 WebSocket 的鉴权机制,为你呈现一揽子的解决方案,确保你的 WebSocket 通信得心应…...
2022 年十大 JavaScript 框架
2022 年十大 Web 应用开发 JavaScript 框架。 React.js jQuery Express Angular Vue.js Angular.js Svelte Next.js Ember.js Meteor React.js React.js 于 2013 年由 Meta(Facebook 前身) 推出,是一款开源的、免费的 JavaScript 库。React.js 被用于开…...
2026年顶配AI写网文工具实测:别再被空洞的GPT味儿坑了!
说实话,2026年了,如果你还在用那种一股子“翻译腔”或者“首先其次最后”的通用AI写网文,那活该你被读者喷。 我最近折腾了半个月,把市面上所谓的“顶配”写书工具全跑了一遍,踩了不少坑,也发现了一些真能…...
各位爱因斯坦,小白想知道:
国产交换机、路由器、防火墙、AC/AP、负载均衡等设备的安装配置、调试。这些流程步骤与细节谢谢大佬们🙏...
【STM32】实战3.2—基于TB6600与微步进控制实现42步进电机的平滑驱动
1. 微步进控制的核心价值 第一次用TB6600驱动42步进电机时,电机转动时的"咔哒"声让我印象深刻。这种典型的满步驱动噪音不仅影响使用体验,在需要精密控制的场景更是致命伤。后来接触到微步进技术,才发现原来步进电机可以运行得如此…...
软件服务管理化的客户价值创造
软件服务管理化的客户价值创造 在数字化浪潮席卷全球的今天,软件服务管理化已成为企业提升竞争力的核心手段。通过系统化的服务管理,企业能够更高效地满足客户需求,创造独特的客户价值。无论是提升用户体验、优化业务流程,还是实…...
Access练习题(4)
请务必仔细阅读下列信息,单击“回答”按钮,进行Access2003 操作考试。在考生文件夹的Paper子文件夹中,已有“Access.mdb”文件存在,按下列要求操作,结果存盘。1、在库中建立一个“供货商”表,字段信息为&am…...
揭秘127.0.0.1:从环回地址到开发测试的实战指南
1. 127.0.0.1到底是什么? 第一次看到127.0.0.1这个数字串时,我还以为是什么神秘代码。后来才发现,这可能是程序员每天打交道最多的IP地址之一。简单来说,127.0.0.1就像是计算机给自己开的"专线电话"——当你的程序需要和…...
从概念到应用:一文读懂概率密度函数与累积分布函数的联系与区别
1. 随机变量:理解概率分布的基础 概率密度函数(PDF)和累积分布函数(CDF)是统计学中描述随机变量分布的两个核心工具。要真正理解它们,我们得从随机变量这个基础概念说起。随机变量就像是一个数学魔术师&am…...
如何快速配置英雄联盟助手:ChampR的完整使用指南
如何快速配置英雄联盟助手:ChampR的完整使用指南 【免费下载链接】champr 🐶 Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champr 你是否曾经在英雄联盟游戏中因为出装选择而犹豫不决?&#x…...
GHelper:如何用10MB替代华硕官方控制中心,实现极致轻量化的硬件掌控
GHelper:如何用10MB替代华硕官方控制中心,实现极致轻量化的硬件掌控 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyr…...
ALNS算法调参实战:如何让Python版VRPTW求解器效率提升50%?
ALNS算法调参实战:如何让Python版VRPTW求解器效率提升50%? 在物流优化领域,带时间窗的车辆路径问题(VRPTW)一直是算法工程师面临的经典挑战。当基础版本的ALNS算法已经能够跑通业务流程,但面对真实业务场景…...
