黑马程序员技术交流社区

标题: [基础]静态变量默认初始化题一道(附详细答案) [打印本页]

作者: p531877327    时间: 2016-9-12 23:18
标题: [基础]静态变量默认初始化题一道(附详细答案)
public class a{
      static String s0,s1;
      public static void main(String []args){
      s0 = s0 + s1;
      System.out.println(s0);
      }
}

[hide=d100]这个考察的是静态变量的默认初始化,以及String的连接(+).
静态变量会在类加载过程中的linking阶段得到默认初始化.引用类型的静态变量会被默认初始化为null.
根据JDK规范:
   s0 = s0 + s1
   s0= new Stringbuffer().append(s0).append(s1).toString();
   StringBuilder.append(String)方法会对null做特殊处理,把他当做"null"字符串.
   所以最后答案为 : "nullnull".[/hide]

作者: java程序猿    时间: 2016-9-12 23:47
666666666666到不行
作者: p531877327    时间: 2016-9-13 00:35
自己顶一顶  让更多人看到
作者: haoge349    时间: 2016-9-13 00:39
路过 带走答案
作者: jiubaK    时间: 2016-9-13 00:40
很好,说实话,没想到




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