public class StaticVariable { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); p1.name = "张三"; p2.name = "李四"; System.out.println("p1: " + p1.name); System.out.println("p2: " + p2.name); p1.city = "北京"; p2.city = "上海"; Person.city = "南京"; System.out.println("p1: " + p1.city); System.out.println("p2: " + p2.city); }}class Person{ String name; /* * 静态变量被所有实例所共享,可以使用“类名.变量名”形式访问 * *************************************************** * 静态变量在内存中会单独有一个自己的内存空间用来存放数据, * 创建的对象调用静态变量时,会指向这个静态变量的内存空间, * 取其值 * 在使用不同的对象调用同一个静态变量,对其进行赋值时,改变 * 的是同一块内存空间的值,所以,静态变量的值会是最后一次的 * 赋值,取值时会得到一样的结果 */ static String city;}