Java中static关键字的多对象共享

日期:2020/1/14

功能:实现static关键字的多对象共享

IDE:Intellij IDEA

static在类中修饰的成员变量和方法叫做类变量和类方法,不同static修饰的成员变量和方法叫做实例变量和方法

static修饰的成员变量在编译生成字节码后,随机装入内存中并分配一定的内存空间,而实例变量需要创建对象后才获得内存空间,如果对象不创建就一直不获得内存空间

static修饰的类成员的内存空间的分配只进行一次,因此所有对象的static成员变量的内存地址都是一样的,即多对象共享该static修饰的成员变量 ,所以只要一个对象改变了static变量,其他对象的static对象同样改变

package testDemo;

public class Student {
    private String name;
    private String sex;
    private static String apartment;

    public Student(String name,String sex,String apart){
        this.name = name;
        this.sex = sex;
        apartment = apart;
    }

    public String getName(){
        return this.name;
    }

    public String getSex(){
        return this.sex;
    }

    public String getApartment(){
        return apartment;
    }

    public static void main(String[] args){
        Student student = new Student("朱鹏程","男","信科院");
        Student student1 = new Student("周圣菲","女","国际学院");
        System.out.println(student.getApartment());
        System.out.println(student1.getApartment());
    }
}

发布了76 篇原创文章 · 获赞 2 · 访问量 2135

猜你喜欢

转载自blog.csdn.net/weixin_43476969/article/details/103976899