美文网首页
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