黑马程序员技术交流社区
标题:
求解答
[打印本页]
作者:
hjlucky111
时间:
2016-6-7 23:27
标题:
求解答
class Demo {
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);
}
}
作者:
我是你岁哥❤环
时间:
2016-6-7 23:51
运行结果:
麦克...韩国
红杉...韩国
解释:
static String country = "中国"; 定义的是一个静态成员变量country,这个country变量存储在内存的方法区中,被所有Person类的对象共享,当p1.country时,country的值被美国赋值,当p2.country时,country的值被改变为韩国,所以当p1调用speak();这个方法的时候,此时country的值时韩国
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2