java的static关键字是非常有用?
有两U情冉|non-static无法做到的,q时你就要用statice?br>W一U:你希望不Z生了多少个对象,或不存在M对象的情形下Q那些特定数据的存储I间都只有一份;
W二U:你希望某个函C要和class objectl在一赗即使没有生Q何objectQ外界还是可以调用其static函数Q或是取用其static data?br>如何理解呢,看完下面的小例子Q就会理解了?/p>

public class StaticTest {
static int i = 47;
}


public class Test {

public static void main(String[] args) {
System.out.println(StaticTest.i);
StaticTest.i = 30;
System.out.println(StaticTest.i);

StaticTest t1 = new StaticTest();
StaticTest t2 = new StaticTest();
t1.i = 50;
System.out.println(t1.i);
System.out.println(t2.i);
}
}

输出l果为:
47
30
50
50
Z么会有这Ll果呢?q是因ؓ它们都指向同一块内存?br>另外Q调用static函数或变量,除了利用对象定址外(t1.i = 50Q,也可以直接用其class名,卻IStaticTest.i = 50)?/p>
参考来自:http://www.tianya.cn/techforum/Content/414/4347.shtml

]]>