黑马程序员技术交流社区

标题: 这道题目不是特别的理解,求大牛~! [打印本页]

作者: 尼玛个鸡    时间: 2015-9-29 21:54
标题: 这道题目不是特别的理解,求大牛~!
public class Test{
int count = 9;
public void count1(){  
int count =10;
                  System.out.println("count1="+count);
}
        public void count2(){
                  System.out.println("count2="+count);
}
        public static void main(String args[]){
Test t=new Test();   
t.count1();  
t.count2();  
}
}

编译运行后,输出结果是
A.        count1=9 count2=9  
B.        count1=10 count2=9  
C.        count1=10 count2=10  
D.        count1=9 count2=10

作者: iceknc    时间: 2015-9-29 22:11
局部有就用局部的,局部没有就用成员位置的,成员位置都没有就报错,就近原则
作者: maxwell247    时间: 2015-9-29 22:46
选B啊。很简单。
作者: lostyou    时间: 2015-9-30 00:00
要知道变量的作用范围啊! 基础东西啊这是,count1()的局部变量会覆盖成员变量第一个是10,count2()直接输出成员变量9
作者: beyond1337    时间: 2015-9-30 00:07
一看就是0912的
作者: 54niuge    时间: 2015-9-30 00:28
就近原则,局部变量有就直接拿过来,没有就找成员变量




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