A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

hjlucky111

初级黑马

  • 黑马币:30

  • 帖子:11

  • 精华:0

© hjlucky111 初级黑马   /  2016-6-7 23:27  /  292 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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);
}
}

1 个回复

倒序浏览
运行结果:
麦克...韩国
红杉...韩国
解释:
static String country  =  "中国";     定义的是一个静态成员变量country,这个country变量存储在内存的方法区中,被所有Person类的对象共享,当p1.country时,country的值被美国赋值,当p2.country时,country的值被改变为韩国,所以当p1调用speak();这个方法的时候,此时country的值时韩国

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马