静态 可以修饰类 也可以修饰类的成员(属性和方法)
static (静态)
静态是在堆内存中创建一块存储区域,将相同的属性放在同一个区域里
非静态:
注意:
1.非静态的成员属性对象必须通过一个new 出来的对象才能访问
2.非静态的属性对象每个各持一份

静态的属性在所有对象创建之前就在内存中存在了
静态的属性不能通过对象访问 已经 不再属于具体的某个对象而是属于所有的对象,属于类的类名、属性

类名.属性
使用场合:当某个属性不属于某一个对象
静态的方法:
静态的方法不能通过对象调用 基于类来调用
静态方法不能访问非静态方法
而在非静态的是可以访问静态的成员
工具方法适合做静态
静态类不能被实例化
一旦创建了静态类,类中的属性和方法必须是静态的。而没有加静态,则可以写非静态和静态的混合。

设计模式:
单例模式:
只能允许一个控制所有的对象,类似管理员或者导演的角色。
步骤:
1.构造方法私有化
2.提供一个静态的本类的一个字段 属性
3.提供一个公开的静态方法返回创建对象(在方法里通过一定的逻辑来控制)
例子:

public  class Class2
    {      private static Class2 dx;    //创建一个私有化单例引用
      public static Class2 ff()    //创建一个公开的方法  并且在堆内存中建立一块静态的存储区域。
      {
          if (dx == null)
          {
              dx = new Class2(); // 创建一个新的dx引用。

          }
          return dx;                //并返回一个dx引用,返回的引用指向同一个堆中的地址,原有的引用销毁。      
      }      public List<int> list { get; set; }
      private Class2()
      {                                      //在class2创建出来的时候初始化一个list 泛型集合并且指向这个类的集合
          list = new List<int>();

      }    }
}

注:
通过单例模式设计的对象无论怎么创建都是一个对象,且都只访问这个对象的值。

 

 

静态大对象 postman swift 静态对象是什么_静态大对象 postman swift