(word)华为的部分面试题.docVIP

  • 1
  • 0
  • 约8.77千字
  • 约 8页
  • 2016-08-14 发布于北京
  • 举报
(word)华为的部分面试题

QUESTION NO: 1 publicclass?Test1 { ? ????public static void?changeStr(String str){ ??????? str=welcome; ??? } ????Public static void?main(String[] args) { ? ??????? String str=1234; ????????changeStr(str); ??????? System.out.println(str); ??? } } //输出结果:1234 //这里虽然是一个静态方法,但是里面的变量是一个局部变量, //所以这里不因为是静态方法,就误认为里面的变量也是静态变量了?第一题的解释不对!和是否静态变量无关,而是因为 java 的参数传递是值传递,相当于传给函数的是变量 str 的值的引用,而不是变量本身的引用,比如,str = 1234,相当于 str 分配在内存地址 a,而 a 中写着为字符串1234分配的地址 b,传递时,分配了另一个内存地址 c,c中复制了 a 的值,即地址b,把c传递给方法调用,c 也指向的是1234,但在方法中为 str 重新赋值对象时,相当于把 c 中的值改成了另一个地址 d,d 是新对象所在地址,但 str 的原始地址 a 中的值没有改变,仍然指向 b,内容为1234 ? QUES

文档评论(0)

1亿VIP精品文档

相关文档