With Web

With you
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

类变量和实例变量的区别

Posted on 2007-02-28 16:20  kejian of 20  阅读(897)  评论(4编辑  收藏  举报


类变量是属于类的,整个类中,只有一个。不管多少东西调用它,都只是调用这一份。比如A,B都有修改它的能力。但他们修改的
都是一个变量。


但实例变量(我想你是说成员变量吧,我忘了实例变量是不是成员变量了。。呵呵)就不同了。成员变量每个对象都有一份拷贝。
简单点说。
比如一个类

class Test
{
    static s = 5;
    int x = 0;
    Test t1 = new Test();
    test t2 = new Test();
}

这个例子是实例化两个Test对象.创建一个成员变量,和一个类变量。
那么x这个变量,两个对象都有一份拷贝,他们对象中各自存放一个x。

如果
t1.x = 1;
t2.x = 2;
System.out.println(t1.x);
System.out.println(t2.x);

打印出来的是
1
2

而类变量,则修改的是一个,如果
t1.s = 1;
t2.s = 2;
那么打印出来的
System.out.println(t1.s);
System.out.println(t2.s);
都是2。