美文网首页
2020-01-07static

2020-01-07static

作者: keeeeeenon | 来源:发表于2020-01-08 09:36 被阅读0次

一段代码解释一下

package com.hpe.test;

import java.sql.Date;

public class Person {
    private String id;
    private String name;
    private int age;
    private Date date ;
    static String nation;//国籍,重复,单独放一个区域,让所有对象都可以访问这个变量,节约内存空间
    //1.static可以修饰属性和方法
    //2.被static所修饰的变量被所有对象所共享
    //3.static优先于对象存在,因为static的成员随着类的加载已经存在,在没有new对象之前static所修饰的属性已经加载,和该类的对象是否创建没有关系
    //4.static修饰的成员多了一种调用方式,1.可以对象.成员的方式,2.可以使用类名.的形式访问
    //非static修饰的属性都是对象特有的属性
    //static修饰的属性属于类,并不属于对象
    //static修饰的变量被修改,那么所有的对象都能观察到这种修改
    
    //构造方法
    public Person() {
        this.age=18;
    }
    
    public Person(String name,int age) {
    this.age=age;//表示类里面的年龄,person对象里的年龄
    this.name=name;
    }
    
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return age;
    }
    
    public void setAge(int age) {
        this.age = age;
    }
    
    @Override
    public String toString() {
        return "Person [id=" + id + ", name=" + name + ", age=" + age + ", date=" + date + ", nation=" + nation + "]";
    }
}

package com.hpe.test;

public class Test5 {

    public static void main(String[] args) {
        Person.nation="中国";
        
        Person p1=new Person();
        Person p2=new Person();
        System.out.println(Person.nation);
        System.out.println(p1.nation);
        System.out.println(p2.nation);
        
        System.out.println("-------------------------------------");
    
        //Person.nation="中华人民共和国";
        p1.nation="中华人民共和国";
        System.out.println(Person.nation);
        System.out.println(p1.nation);
        System.out.println(p2.nation);
        //一个static修饰的变量,被任何一个对象所改变,访问它的所有对象相应的值都会改变
    }

}

静态区

image.png image.png image.png

相关文章

网友评论

      本文标题:2020-01-07static

      本文链接:https://www.haomeiwen.com/subject/vozlactx.html