zoukankan      html  css  js  c++  java
  • 小问题【6】

    静态成员

    静态字段:使用static关键字定义静态字段,如果不对静态字段进行初始化,静态字段将字段获得默认值(0、null、false)。

    静态字段从属于类本身,而不是实例。从类的外部访问时,需要使用类名。在类自身内部的代码总,可以省略类名。

    C#不能在同一个类中定义同名的静态字段和实例字段。重复的名称在声明空间中会造成冲突。

    静态方法:

        this关键字在静态方法中是无效的。

    静态构造器:  对类(不是类实例)进行初始化。“运行时”会在首次访问类是自动调用静态构造器。

    在静态构造器中进行的赋值优先于声明字段时进行的赋值,即结果是静态构造器中的值。

    在声明的同时完成静态初始化,性能比使用静态构造器高,尽量用前者,因为后者会自动插入一些负责检查的代码。

    示例代码:

      class Program
      {
        static void Main()
        {
          Console.WriteLine(Employee.NextId); //100
          Console.ReadKey();
        }
      }
      class Employee
      {
        static Employee()
        {
          NextId = 100;
        }
        public static int NextId =42;
      }

    静态属性:  使用静态属性几乎肯定要比使用公共静态字段好,因为公共静态字段在任何地方都能调用,而静态属性则至少提供了一定程度的封装。

    示例代码:

      class Employee
      {
        public static int NextId
        {
          get
          {
            return _NextId;
          }
          private set
          {
            _NextId = value;
          }
        }
        public static int _NextId =42;
      }


    静态类:

        这个类不包含任何实例字段(或方法)。静态类的作用:1. 防止程序员写代码来实例化这个类;2.防止在类的内部声明任何实例字段或方法。 3. 这个类是不可扩展的,C#编译器会在CIL代码中把它标记为abstract 和 sealed。

  • 相关阅读:
    短信编码总结
    在Linux下用C语言实现短信收发
    sshd_config配置详解
    SSH的通讯和认证
    linux安装tacacs+服务器
    Tacacs+认证详细调研
    伪分布配置完成启动jobtracker和tasktracker没有启动
    Hadoop学习记录(7)|Eclipse远程调试Hadoop
    Hadoop学习记录(6)|Eclipse安装Hadoop 插件
    Hadoop学习记录(5)|集群搭建|节点动态添加删除
  • 原文地址:https://www.cnblogs.com/wouldguan/p/2407001.html
Copyright © 2011-2022 走看看