黑马程序员技术交流社区

标题: 编译和运行下面代码时显示的结果是( ) 。 [打印本页]

作者: 郭炜    时间: 2012-3-14 11:45
标题: 编译和运行下面代码时显示的结果是( ) 。
        编译和运行下面代码时显示的结果是(      ) 。
public class Tux extends Thread{
        static String sName = "vandeleur";
        public static void main(String argv[]){
        Tux t = new Tux();
        t.piggy(sName);
        System.out.println(sName);
        }
        public void piggy(String sName){
                sName = sName + " wiggy";
                start();
        }
        public void run(){
                for(int i=0;i  <  4; i++){
                sName = sName + " " + i;
                }
        }
}
A、编译错误
B、vandeleur
C、vandeleur 0
D、vandeleur wiggy 0 1 2 3
作者: djx900    时间: 2012-3-14 11:49
本帖最后由 djx900 于 2012-3-14 11:52 编辑

B这算是 静态 与非静态之间的调用嘛~?
作者: 吴华二    时间: 2012-3-14 14:13
应该是B
作者: 贠(yun)靖    时间: 2012-3-14 14:24
是D  因为是静态变量 所以数据共享  又因为是String类型  而+是字符串的连接符号 所以陆续的在后面添加而不覆盖前面的数值

作者: 泮和顺    时间: 2012-3-14 14:49
要想对静态成员变量进行修改值,还要另外定义个静态方法可以对其值改变或设置。。。。





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