A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王进亮 中级黑马   /  2012-12-25 20:04  /  1496 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王进亮 于 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
求解释........

4 个回复

倒序浏览
兄弟,我发现你这个问题很有意思啊
首先你创建两个ext对象,一个Text1,一个Text2,分别对两个对象的a进行自增操作,
至于你输出语句中带引号的就不说什么了,你前边的变量自增之后都是2,所以打印的结果自然就是2.
回复 使用道具 举报
你的Text1里面什么东西?
回复 使用道具 举报
static int a=0;
静态变量存放在静态域中
变量值更改了静态域中的变量值也更改了
回复 使用道具 举报
静态变量a是全局变量,你text1自增后,a为1.当text2在自增a后,a的值由于已经是1,再自增后就为2了。
全局变量它不属于某个对象,是属于整个类中
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马