黑马程序员技术交流社区
标题:
关于++的执行理解,看不懂
[打印本页]
作者:
似水浮生
时间:
2016-6-12 23:10
标题:
关于++的执行理解,看不懂
为什么输出的是 迈克 韩国 红杉 韩国
不应该是 迈克 美国 红杉 韩国的吗
class tses {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "迈克";
p1.country = "美国";
Person p2 = new Person();
p2.name = "红杉";
p2.country = "韩国";
p1.speak();
p2.speak();
}
}
class Person {
String name;
static String country="中国";
public void speak() {
System.out.println(name + "..." + country);
}
}
作者:
Realize
时间:
2016-6-12 23:50
输出迈克,美国,红杉美国
country是静态变量,在方法区存放,当第一次创建对象p1给country修改值的时候,就把country修改为美国,所有对象共享静态变量,所以红杉也是美国
作者:
Realize
时间:
2016-6-12 23:58
。。。。。。手一抖,写错了,应该输出迈克韩国,红杉韩国,图片上的解释很详细,考点在于静态变量被类的所有对象共享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2