问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java如何定义常量?

发布网友 发布时间:2022-04-23 09:42

我来回答

1个回答

热心网友 时间:2023-09-14 23:55

java没有叫全局变量的东西(有全局变量还叫OO吗?);原因:Java将所有设计都基于对象的基础上。Java的全局变量只能对一个类内部而言。能够在类内的任何地方使用的变量就是全局变量,而只在某个特定的函数或者局部的程序块内使用的变量则是局部变量。
所以:声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
使用:java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了。
1、将一个 package 中需要的常量集中到一个 XyzConstants 之类的 interface 里声明,
就像普通的 field 那样声明就行了。

复制代码代码如下:

public interface SomeConstants {
public intPORT = 80;
public String IP = "166.111.16.1";
public boolean test = true;
}

就可以。
用到常量的类 implements 这个接口 .. 简单情况这样就行乐。

2、更 formal 的做法是写一个类维护所有的常量,负责从配置文件(例如properties文件或xml文件)读取所有的常量的值。
可以在一个 static {} 块里从配置文件中初始化所有 static 的变量。 这样有利于提高软件的可配置性。改些东东不用动代码,比较好。
最好要有 config Tool 负责写配置文件。
3.其他说明:
定义一个公开类,在里面加static 变量。

复制代码代码如下:

public class infos{
private infos(){
}
public static int PORT = 80;
public static String IP = "166.111.166.111";
public static boolean test = true;
public static final String MYNAME="zzz"; //定义中用了final,就是不能改变的。
}

在别的class中调用这些变量就是: infos.PORT,infos.IP,infos.test,infos.MYNAME
多个class交互时可以通过改变这些变量的值来传递信息。比如 infos.test被别的class改成了false,可能表示某一件事已经失败或已经做过,其它class就可以提前知道这些信息。

其中infos.MYNAME被定义为了final,即成为常量。用final修饰的成员变量表示常量,值一旦给定就无法改变!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情侣文案英文高级浪漫87句 Love to the people don't wave.什么意思 gladtomeetyou怎么 gladtomeetyou.怎么回答 2016生肖猴运程 武汉买房88平方满50万落户政策 非武汉市户口在武汉市购买70平方总价50万的商品房,可以转户口吗... 我想在武汉买一套50万左右的新房子,谁能告诉我现在武昌,关山,江夏,有... 支付宝怎么开通步数授权? 总价50万能在武汉买一套两室一天的二手房吗? 什么是工程技术档案资料? T恤、汗衫、套头衫、开襟衫、TOP和衬衫,它们是怎么区分的呢?请专家解... 3000左右买什么手机比较好点? P成白衬衫带领一寸证件照 协议书怎么写,提供样本 3000左右买什么手机好? java怎么定义一个接口? shirt怎么读 关于拆迁补偿分割的协议书怎么写?求各位提供下精确的模版 意大利有哪些著名的衬衫品牌? 怎么把胸前的衬衫P上去一点,或是把黑色的内衣P下去,这样瞅着真心别扭,求大神帮忙, PS: 不要 java如何定义一个类,创建它的成员变量和方法? wtautoreg.exe是什么程序 借呗和花呗欠款超十万,多久才会被起诉? 证件照p白衬衫 Java如何定义一个对象 有大神可以 帮我把照片底色p成白色,再把衬衫p成蓝色吗? 如何结束进程:WTAUTOREG.EXE java怎么定义一个对象? PS麻烦衬衣P图成黑色? 花呗,借呗逾期会被起诉吗? 框架多层结构 上层梁板混凝土还未浇筑 就将下层梁板模板及支架拆除了 请问这样允许吗? 巴西的衣服尺码 java中如何定义数组 3000元能买到什么好手机? 用JAVA定义? 亲们,全自动洗衣机进水管的接头怎么安装啊? 跨度为6m、混凝土强度为C30的现浇混凝土板,当混凝土强度至少应达到( )时方可拆除模板 花呗借呗逾期三个月 欠款快两万 会被起诉吗?前两天还了八千多 施工现场准备中的拆除障碍物主要包括哪些? 2020年3000元左右买什么手机好 全自动洗衣机水龙头安装图解 全自动洗衣机水龙头怎么接 花呗和借呗逾期三个多月,会被起诉吗? 跨度为6米,强度为C30的现浇混凝土梁,当混凝土强度至少应达到多少方可拆除模板 PR把视频转成GIF出现很多图片 支付宝借呗逾期三个月了,被起诉后会怎样? 3000买什么手机 牵引管和拉管有什么区别 支付宝借呗逾期,会被起诉吗? 洗衣机怎么接水龙头?求具体方法