静态变量的意义,什么时候用和作用
解决方案 »
- 求俄罗斯方块修改方法
- 刚刚看了一个师兄的招聘题目,二叉树鸭梨啊,求参考
- java的sdk中ZipInputStream类的getUTF8String方法
- .......问题......期待......您的......回答.....!!!......
- 会RCP发布程序的进来帮我小弟看一下咯,谢谢啊
- 一个播放声音文件的程序,大家看看错在哪里?
- 关于 socket 编程的问题 在线等答案 大神们
- 我把一个applet压成了一个jar,如何在网页中引用呢?
- 请问mm.mysql的jdbc Driver是否支持jdbc2.0(ConnectionPool)?
- 请问如何编程实现隐藏文件夹和文件?
- 刚下载了一个java程序,不如如何打开,高手来看看
- 一个关于file.exists方法的问题
多个线程对象共享的变量需要声明为静态变量。
只需赋一次值,以后就不需要改变值的变量,最好声明为静态变量。
它的特性是:
1、初始化:在类在加载(和链接)时被初始化,或者在类在第一次“主动使用”时初始化,例如你调用了一个类的类变量时,就是促使这个类的所有类变量被初始化。
2、共享:类变量是和类一起放在内存的方法区里(而不是堆中),可以在没有创建对象的情况下直接访问。所有这个类的对象访问到的类变量将是同一个。
3、可以被修改。public class Base{
private static int num ;
static{
num = 15;
System.out.println("Init the static field !");
}
public static void modify(){
Base.num = 17;
System.out.println("static field has been changed!");
}
public static void main(String[] args){
System.out.println("static field:" +Base.num);
Base.modify();
System.out.println("static field:" +Base.num);
Base base1 = new Base();
Base base2 = new Base();
System.out.println("static field in object base1:" +base1.num);
System.out.println("static field in object base2:" +base2.num);
}
}/*~output:
* Init the static field !
* static field:15
* static field has been changed!
* static field:17
* static field in object base1:17
* static field in object base2:17
*/