一个程序看java的static
[code]class StaticTest{
int x=1;
static int y=1;
}
class StaticTester{
public static void main(String args[]){
int i;
StaticTest.y= StaticTest.y +1;
StaticTest m=new StaticTest();
StaticTest n=new StaticTest();
m.x= m.x +3;
m.y= m.y+3;
n.x= n.x+5;
n.y= n.y+5;
System.out.println("m.x="+m.x+" "+ "m.y="+m.y);
System.out.println("n.x="+n.x+" "+ "n.y="+n.y);
}
}[/code]
输出结果为:
m.x=4 m.y=10
n.x=6 n.y=10
m.x=4和m.x=6都是好理解的
下面是一个简短的说明:
[quote]static可以修饰类中的属性和方法。
静态属性在类定义时静态地分配空间。它属于类,不属于某个特定的对象,因此可以通过类进行访问。往往将属于类的公共属性说明成static。[/quote]
也就是说一个声明为static的变量,你改变多少次,它的值只是唯一的一个,就像前面引用的说的
[quote]静态属性在类定义时静态地分配空间。它属于类,不属于某个特定的对象[/quote]
如果最后把StaticTest.y打印出的,也是10
cloud
2009年3月2日 23:07
[emot]zan[/emot]
killer
2009年5月8日 13:55
[emot]kill[/emot]