Java Thread,它的答案是什么?
发布时间:2020-12-15 05:05:09 所属栏目:Java 来源:网络整理
导读:问题是从 http://www.javacertifications.net/javacert/scjp1.6Mock.jsp开始 问题没有-20 以下代码的输出是什么? public class Test extends Thread{ static String sName = "good"; public static void main(String argv[]) { Test t = new Test(); t.name
问题是从
http://www.javacertifications.net/javacert/scjp1.6Mock.jsp开始
问题没有-20 以下代码的输出是什么? public class Test extends Thread { static String sName = "good"; public static void main(String argv[]) { Test t = new Test(); t.nameTest(sName); System.out.println(sName); } public void nameTest(String sName) { sName = sName + " idea "; start(); } public void run() { for(int i=0;i < 4; i++) { sName = sName + " " + i; } } } 选项 解释:在String的情况下,本地方法中的更改值不会在全局中更改(因为String对象是不可变的). 解决方法
没有一个答案是正确的,也没有一个正确的答案.
问题非常糟糕,因为它混合了两个完全不同的问题: > nameTest()方法的sName参数隐藏了同名的静态变量,对局部变量的更改无效. >好>好0>好0 1>好0 1 2>好0 1 2 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |