电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

淺談java中的聲明常量為什么要用static修飾

瀏覽:109日期:2022-08-25 15:20:37

今天定義一個類常量,想著也只有這個類可以用到,就沒用static關鍵字修飾。結果sonar代碼檢查提示:

Rename this field 'PERSON_TYPE_USER' to match the regular expression ’^[a-z][a-zA-Z0-9]*$’。

我一想我這是正確的命名規范啊,于是百度一搜這提示,發現前面加個static關鍵字修飾就可以了。

那么問題來了,我就當前類要使用,不需要設置成全局常量也可以,用static修飾常量有什么好處?

好處就是:在創建類的多個對象時,用static修飾的常量在內存中只有一份拷貝。不用static修飾則可能有多份拷貝。

class A { public static final String CONSTANT_A = 'Hello'; public final String CONSTANT_B = 'Hello'; }

創建A的多個對象時,CONSTANT_A在內存中只有1份拷貝,CONSTANT_B在內存中有多份拷貝。

補充知識:Java常量與靜態常量能不能修改值

我就廢話不多說了,大家還是直接看代碼吧~

import java.util.*;// 2019/9/4public class ConstVarDemo { private final int v1 = 1; private static final int v2 = 2; private final List<Integer> list1 = new LinkedList<>(); private static final List<Integer> list2 = new LinkedList<>(); // 基本類型常量修改 // 編譯失敗 public void test1() { // System.out.println(v1); // 以下操作錯誤: 無法為最終變量v1分配值 // v1 = 11; // 修改常量的值 // System.out.println(v1); // System.out.println(v2); // 以下操作錯誤: 無法為最終變量v2分配值 // v2 = 22; // 修改靜態常量的值 // System.out.println(v2); } // 對象引用常量狀態進行修改 // 編譯通過 public void test2() { System.out.println(list1.toString()); list1.add(1); // 常量引用 System.out.println(list1.toString()); System.out.println(list2.toString()); list2.add(2); // 靜態常量引用 System.out.println(list2.toString()); } // 改變對象類型常量的引用 // 編譯失敗 public void test3() { // System.out.println(list1.toString()); // list1 = new ArrayList<>(); // 錯誤: 無法為最終變量list1分配值 // list1.add(1); // System.out.println(list1.toString()); // System.out.println(list2.toString()); // list2 = new ArrayList<>(); // 錯誤: 無法為最終變量list2分配值 // list2.add(2); // System.out.println(list2.toString()); } public static void main(String[] args) { new ConstVarDemo().test3(); }}

總結

不管靜態常量還是普通常量只要是基本類型就不能在初始化后重新修改其值

對象類型普通常量、靜態常量可以在初始化后修改其對象狀態,但不可以改變其引用

以上這篇淺談java中的聲明常量為什么要用static修飾就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 不锈钢酒柜|恒温酒柜|酒柜定制|酒窖定制-上海啸瑞实业有限公司 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 回收二手冲床_金丰旧冲床回收_协易冲床回收 - 大鑫机械设备 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 减速机_上海宜嘉减速机| POS机办理_个人pos机免费领取-银联pos机申请首页 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 非标压力容器_碳钢储罐_不锈钢_搪玻璃反应釜厂家-山东首丰智能环保装备有限公司 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 双杰天平-国产双杰电子天平-美国双杰-常熟双杰仪器 | 真空上料机(一种真空输送机)-百科 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 德国UST优斯特氢气检漏仪-德国舒赐乙烷检测仪-北京泽钏 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 |