1. 静态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1. 静态相关的知识,希望对你有一定的参考价值。

静态属性(即静态变量)

  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. 静态的主要内容,如果未能解决你的问题,请参考以下文章

php静态属性

片段 null 必须是公共静态类才能从实例状态正确重新创建

片段之间的静态 ArrayList

片段中的网格视图

在android studio中升级repo v9后,片段必须是公共静态类崩溃错误

错误:这个片段内部类应该是静态的 [ValidFragment]