首页 > 代码库 > Java基础之静态变量

Java基础之静态变量

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