如何在Java中定义常量
3个回答
2016-10-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
2016-09-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
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修饰的成员变量表示常量,值一旦给定就无法改变!
所以:声明为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修饰的成员变量表示常量,值一旦给定就无法改变!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java 常量,有2种意思:
第1种意思,就是一个值,这个值本身,我们可以叫它常量,举几个例子:
整型常量: 123
实型常量:3.14
字符常量: 'a'
逻辑常量:true、false
字符串常量:"helloworld"
这只是说法的问题,比如7这个数,我们就可以说“一个int类型的常量7 ”
还有另一种:
第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了,据个例子:
final int i = 0;
那么这个i的值是绝对不能再被更改了,只能是0,所以说是 不可变的变量,这句话看似矛盾,其实不矛盾,这句话这样理解:
i就是一个int类型的变量,变量本身是可变的(可被更改值),但是现在加了final,所以不可变了,所以是不可变的变量。
第1种意思,就是一个值,这个值本身,我们可以叫它常量,举几个例子:
整型常量: 123
实型常量:3.14
字符常量: 'a'
逻辑常量:true、false
字符串常量:"helloworld"
这只是说法的问题,比如7这个数,我们就可以说“一个int类型的常量7 ”
还有另一种:
第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了,据个例子:
final int i = 0;
那么这个i的值是绝对不能再被更改了,只能是0,所以说是 不可变的变量,这句话看似矛盾,其实不矛盾,这句话这样理解:
i就是一个int类型的变量,变量本身是可变的(可被更改值),但是现在加了final,所以不可变了,所以是不可变的变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询