码迷,mamicode.com
首页 > 其他好文 > 详细

1. 静态

时间:2018-10-10 15:27:50      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:data   setname   输出   非静态属性   property   his   变量   使用   修改   

静态属性(即静态变量)

  1. 一个类的某个属性为静态时, 该属性是全局的, 即以该类为模板创建的所有的对象的这个静态属性的指向同一个方法区.静态属性在使用方式上不依赖于对象.
    静态属性是全局的, 该属性只有一份, 这个只有一份的意思就是:相对于非静态属性而言, 每个对象的非静态属性都是独立的, 而每个对象的静态属性都是一样的, 都指向同一片内存区. 所以当修改了这个类模板的静态属性或者某个对象修改了自己的这个静态属性, 对应的所有的对象的该静态属性都会更改.
    
    案例:
    import lombok.Data;

public class OuterClass {

public static void main(String[] args) {
    // 创建对象1
    StaticProperty staticProperty1 = new OuterClass.StaticProperty();
    staticProperty1.setId(2);
    staticProperty1.setName("li");

    // 创建对象2
    StaticProperty staticProperty2 = new OuterClass.StaticProperty();
    staticProperty2.name = "wu";

    // 输出对象1和对象2
    System.out.println(staticProperty1);
    System.out.println(staticProperty2);
}

@Data
public static class StaticProperty {
    private int id = 1;
    private static String name;
    public void setName(String name) {
        StaticProperty.name =  name;
    }

    @Override
    public String toString() {
        return "StaticProperty{" +
                "id=" + id + ", name=" + this.name +
                ‘}‘;
    }
}

}

1. 静态

标签:data   setname   输出   非静态属性   property   his   变量   使用   修改   

原文地址:http://blog.51cto.com/13604100/2298215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!