java中定义常量方法介绍

 更新时间:2013年10月21日 10:26:15   作者:  
java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了

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修饰的成员变量表示常量,值一旦给定就无法改变!

相关文章

  • 解决安装mysqlclient的时候出现Microsoft Visual C++ 14.0 is required报错

    解决安装mysqlclient的时候出现Microsoft Visual C++ 14.0 is required报错

    这篇文章主要介绍了解决安装mysqlclient的时候出现Microsoft Visual C++ 14.0 is required报错问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • spring的@Transactional注解用法解读

    spring的@Transactional注解用法解读

    这篇文章主要介绍了spring的@Transactional注解用法解读,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Java 自定义Spring框架以及Spring框架的基本使用

    Java 自定义Spring框架以及Spring框架的基本使用

    Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发
    2021-10-10
  • java的引用类型的详细介绍

    java的引用类型的详细介绍

    在java中提供了4个级别的引用:强引用、软引用、弱引用、虚引用。其中强引用FinalReference是default个饰符来修饰,其它3个级别均为public修饰
    2013-10-10
  • Java 基于AQS实现一个同步器

    Java 基于AQS实现一个同步器

    这篇文章主要介绍了如何基于AQS实现一个同步器,帮助大家更好的理解和学习Java并发,感兴趣的朋友可以了解下
    2020-09-09
  • 教你如何使用Java输出各种形状

    教你如何使用Java输出各种形状

    本文小编将向大家介绍的是如何利用Java输出各种不同的形状,本文一共介绍了七种有趣的形状,感兴趣的小伙伴赶快收藏起来吧
    2021-09-09
  • Java基础教程之static五大应用场景

    Java基础教程之static五大应用场景

    这篇文章主要给大家介绍了关于Java基础教程之static五大应用场景的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Java 三种进制的数值常量操作

    Java 三种进制的数值常量操作

    这篇文章主要介绍了Java 三种进制的数值常量操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Java多线程异步调用性能调优方法详解

    Java多线程异步调用性能调优方法详解

    这篇文章主要为大家详细介绍了Java多线程异步调用性能调优,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • java设计模式学习之工厂方法模式

    java设计模式学习之工厂方法模式

    这篇文章主要介绍了java设计模式学习之工厂方法模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论