在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。
首先应该明确 java中没有全局变量
但是可以通过静态变量 static声明 来达到同样的目的
根据面向对象的编程思想 最好的方法 还是把静态变量放在一个类里面,封装取值赋值
我这里定义了一个 int型 和 一个 队列
package test.autorun;
import java.util.LinkedList;
import java.util.Queue;
public class MyVar {
private static int nCount=0;
private static Queue<String> queue=new LinkedList<String>();;
public int getnCount() {
return nCount;
}
public void setnCount(int nCount) {
MyVar.nCount = nCount;
}
public Queue<String> getQueue() {
return queue;
}
public void setQueue(Queue<String> queue) {
MyVar.queue = queue;
}
}
其它类中的使用方法:
MyVar myVar=new MyVar();
myVar.getQueue().offer("Hello");
myVar.getQueue().offer("World!");
System.out.println(myVar.getQueue().size());
String str;
while((str=myVar.getQueue().poll())!=null){
System.out.print(str);
}
System.out.println();
System.out.println(myVar.getQueue().size()); |