java

转载 2015年07月10日 09:55:14

 java没有叫 全局变量的东西(有全局变量还叫OO吗?);原因:Java将所有设计都基于对象的基础上。Java的全局变量只能对一个类内部而言。能够在类内的任何地方使用的变量就是全局变量,而只在某个特定的函数或者局部的程序块内使用的变量则是局部变量。
        所以:声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。

        使用:java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了。

1、将一个 package 中需要的常量集中到一个 XyzConstants 之类的 interface 里声明,

就像普通的 field 那样声明就行了。 

[java] view plaincopy
  1. public interface SomeConstants {  
  2.    public intPORT = 80;  
  3.    public String IP = "166.111.16.1";  
  4.    public boolean test = true;  
  5. }   

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

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

3.其他说明:

定义一个公开类,在里面加static 变量。

[java] view plaincopy
  1. public class infos{  
  2.   private infos(){  
  3.   }  
  4.    public static int PORT = 80;  
  5.    public static String IP = "166.111.166.111";  
  6.    public static boolean test = true;  
  7.    public static final String MYNAME="zzz"//定义中用了final,就是不能改变的。  
  8. }  

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

其中infos.MYNAME被定义为了final,即成为常量。用final修饰的成员变量表示常量,值一旦给定就无法改变!

相关文章推荐

大型网站系统与Java中间件实践

  • 2017年11月21日 11:18
  • 64.87MB
  • 下载

Java commons-io-2.4

  • 2017年11月21日 09:56
  • 2.18MB
  • 下载

java asm库的原理与使用方法(二)

3、使用ASMAPI生成和转换class中的方法 前面已经简单介绍过已编译的class文件中的方法是由字节码指令序列构成,因此使用ASMAPI生成和转换class文件中的方法需要具备基本的字节码指令...

深入Java虚拟机

  • 2017年11月19日 16:57
  • 45.6MB
  • 下载

Java数组冒泡,选择,插入三种常用排序法及自带的快速排序法

int[] arr = { 4, 9, 8, 7, 8, 5, 1, 9, 88 };bubbleSort(arr);// selectSort(arr);// insertSort(arr);Sys...

JAVA Swingx 源码+jar+使用文档

  • 2017年11月19日 12:37
  • 6.05MB
  • 下载

Java使用SQLServerBulkCopy实现数据库批量操作

Java使用SQLServerBulkCopy实现数据库批量操作
  • educast
  • educast
  • 2017年06月06日 15:27
  • 1194

JAVA_精美后台管理系统模版

  • 2017年11月18日 16:50
  • 1.51MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java
举报原因:
原因补充:

(最多只允许输入30个字)