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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

   最后运行的结果为什么会是 2 ?????
public class Test{
static int i=0;
public int aMethod( ){
i++;
return i;
}
public static void main(String [] args){
Test test = new Test( );
test.aMethod( );  
System.out.println(test.aMethod( ));
}
}

2 个回复

倒序浏览
变量i是静态的,第一次调用方法变1,第二次调用变2
回复 使用道具 举报
public class Test {
        static int i=0;
        public int aMethod( ){
                i++;
                return i;
        }
        public static void main(String [] args){
                Test test = new Test();
                test.aMethod( );  //第一次调用这时候i已经变成1了
                System.out.println(test.aMethod( ));//第二次调用输出2
                }
}
我有点懂你的意思了  楼主 你是不是想输出 i 的值    你调用了两次方法啊
        public int aMethod( ){
                i++;
                return i;
        }
        public static void main(String [] args){
                Test test = new Test();
                test.aMethod( );  //第一次调用
                System.out.println(i); //输出 i   不就是 1 了么?
               
                }
}


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马