黑马程序员技术交流社区

标题: 静态变量,求帮助 [打印本页]

作者: 王进亮    时间: 2012-12-25 20:04
标题: 静态变量,求帮助
本帖最后由 王进亮 于 2012-12-27 14:29 编辑

public class Text1 {
        static int a=0;
        public static void main(String[] args) {
               
     Text1 text1=new Text1();
     Text1 text2=new Text1();
     text1.a++;
     text2.a++;
     System.out.println("text1:"+text1.a);
     System.out.println("text1:"+text2.a);
     System.out.println("text1:"+Text1.a);
               

        }

}
结果:
text1:2
text1:2
text1:2
求解释........


作者: 董将    时间: 2012-12-25 20:12
兄弟,我发现你这个问题很有意思啊
首先你创建两个ext对象,一个Text1,一个Text2,分别对两个对象的a进行自增操作,
至于你输出语句中带引号的就不说什么了,你前边的变量自增之后都是2,所以打印的结果自然就是2.

作者: 管冉    时间: 2012-12-25 20:19
你的Text1里面什么东西?
作者: yuchen208    时间: 2012-12-25 20:28
static int a=0;
静态变量存放在静态域中
变量值更改了静态域中的变量值也更改了

作者: netboy032    时间: 2012-12-25 20:28
静态变量a是全局变量,你text1自增后,a为1.当text2在自增a后,a的值由于已经是1,再自增后就为2了。
全局变量它不属于某个对象,是属于整个类中




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2