C# 面试题 目录

C# 中静态类 (static class) 的特点和用途

推荐答案

-- -------------------- ---- -------
-- ------
------ ------ ----- -------
-
    -- ----
    ------ ------ ---- ------------------- --------
    -
        ---------------------------
    -

    -- ----
    ------ ------ --- ------- - --

    -- ------
    ------ ---------
    -
        ------------------------- ----------- ----------
    -
-

-- -----
---------------------------- ---------
------------------

本题详细解读

静态类的特点

  1. 不能被实例化:静态类不能使用 new 关键字创建实例。它只能包含静态成员(静态方法、静态字段、静态属性等)。

  2. 只能包含静态成员:静态类中的所有成员都必须是静态的。不能包含实例成员(实例方法、实例字段等)。

  3. 静态构造函数:静态类可以有一个静态构造函数,用于初始化静态成员。静态构造函数在类第一次被访问时自动调用,且只会调用一次。

  4. 密封性:静态类默认是密封的(sealed),不能被继承。

静态类的用途

  1. 工具类:静态类通常用于定义工具类,提供一组相关的静态方法。例如,System.Math 类就是一个典型的静态类,提供了各种数学运算的静态方法。

  2. 全局访问:静态类的成员可以通过类名直接访问,无需创建实例。这使得静态类非常适合用于全局访问的场景,例如日志记录、配置管理等。

  3. 单例模式:静态类可以用于实现单例模式,确保一个类只有一个实例,并提供全局访问点。

  4. 扩展方法:静态类可以包含扩展方法,用于为现有类型添加新的方法,而无需修改原始类型的代码。

示例代码解析

-- -------------------- ---- -------
------ ------ ----- -------
-
    -- ----
    ------ ------ ---- ------------------- --------
    -
        ---------------------------
    -

    -- ----
    ------ ------ --- ------- - --

    -- ------
    ------ ---------
    -
        ------------------------- ----------- ----------
    -
-

-- -----
---------------------------- ---------
------------------
  • 静态方法PrintMessage 是一个静态方法,可以直接通过类名调用。
  • 静态字段Counter 是一个静态字段,可以通过类名访问和修改。
  • 静态构造函数:静态构造函数在类第一次被访问时自动调用,用于初始化静态成员。

通过静态类,我们可以方便地组织和管理一组相关的静态成员,提供全局访问的功能。

纠错
反馈