一个程序看java的static

作者: ldsea 分类: 程序生活 发布时间: 2009-03-02 22:37

[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

2 条评论
  • cloud

    2009年3月2日 23:07

    [emot]zan[/emot]

  • killer

    2009年5月8日 13:55

    [emot]kill[/emot]

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注