随笔-50  评论-55  文章-8  trackbacks-0
public class JustTestStatic {
   private static int i=0;
   public static void print(){
       System.out.println("value1:"+i);
       i++;
        System.out.println("value2:"+i);
        add(i);
          System.out.println("value3:"+i);
          add();
           System.out.println("value4:"+i);
   }
   private static void add(int j){
       j++;
   }
   private static void add(){
       i++;
   }
   public static void main(String[] args){
       JustTestStatic.print();
   }
}
输出结果多少?(不需运行,嘿嘿)
posted on 2007-09-13 15:26 蒋家狂潮 阅读(1025) 评论(10)  编辑  收藏 所属分类: JWeb

评论:
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-13 15:39 | 草儿
0 1 1 2  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-13 17:03 | 交口称赞
应该是
value1:0
value2:1
value3:1
value4:2
  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-13 17:59 | Robin's Java World
private static void add(int j){
j++;
}

关键就是这个,是值传递。  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦![未登录] 2007-09-13 18:09 | test
感觉回到了大一  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦![未登录] 2007-09-13 20:44 | 咖啡
差点没有注意到.   回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-13 23:58 | 杨爱友
这不就是面试中经常考的题目吗?典型题目  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-14 12:09 | TiGERTiAN
0 1 1 2  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-14 18:53 | adaiye
lz给个解释啊! 初学!  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-14 21:20 | 蒋家狂潮
好像可以这样解释:i是全局静态变量;
private static void add(int j){
j++;
}
静态方法不会改变 i 的值;
为什么静态变量在静态方法里就会出现这样的效果,偶也不知 :)  回复  更多评论
  
# re: 出个题目,考考大家,很容易犯错哦! 2007-09-20 14:18 | Glen
应该和静态方法没有什么关系吧,add(int j)是值传递,当然不会改变i的值了  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: