几行代码搞懂静态类和静态方法

视频链接: 视频
代码链接: 源码

在C#中,静态类(Static Class)和静态方法(Static Method)是面向对象编程中的重要概念。它们允许你创建不依赖于对象实例的方法和属性,而是直接通过类名来访问。

静态类

静态类是一个仅包含静态成员(静态方法、静态属性、静态字段、静态事件等)的类。静态类不能被实例化,也就是说,不能创建静态类的对象。静态类主要用于包含那些与任何对象实例无关的方法或属性。

使用static关键字可以定义一个静态类。例如:

public static class Math
{
    static string j = "sunny老师";
    //int i = 1;
    public static int Add(int a, int b)
    {
        return a + b;
    }

    public static int Multiply(int a, int b)
    {
        return a * b;
    }
}

在这个例子中,MathUtils是一个静态类,它包含两个静态方法AddMultiply。由于这是一个静态类,你不能创建MathUtils的实例,而是直接通过类名调用它的静态方法:

int sum = Math.Add(5, 3); // 直接调用静态方法

注意:静态类中不允许有非静态成员。

静态方法

静态方法是属于类而不是类的任何特定实例的方法。这意味着你不需要创建类的对象就可以调用静态方法。静态方法只能访问静态字段、静态属性、静态方法或类的其他静态成员,不能访问类的非静态成员(除非通过对象实例)。

你可以在非静态类中定义静态方法。例如:

public class Calculator
{
    // 非静态方法
    public int AddNumbers(int a, int b)
    {
        return a + b;
    }

    // 静态方法
    public static int MultiplyNumbers(int a, int b)
    {
        return a * b;
    }
}

在这个例子中,Calculator类有一个非静态方法AddNumbers和一个静态方法MultiplyNumbers。你可以像下面这样调用这些方法:

// 创建Calculator类的实例并调用非静态方法
Calculator calculator = new Calculator();
int sum = calculator.AddNumbers(5, 3);

// 直接通过类名调用静态方法,不需要创建类的实例
int product = Calculator.MultiplyNumbers(5, 3);

静态构造函数

静态类也可以有一个静态构造函数,它会在第一次引用该类的任何静态成员之前自动执行。静态构造函数用于初始化静态字段或执行只需要在类首次加载时执行的操作。静态构造函数不能有访问修饰符(如public或private),并且不能有参数。

public class MyClass
{
    // 静态字段
    public static int StaticField;

    // 静态构造函数
    static MyClass()
    {
        StaticField = 42;
        // 这里可以执行其他只需要在类首次加载时执行的初始化操作
    }
}

在这个例子中,当MyClass首次被引用时(例如,通过访问MyClass.StaticField),静态构造函数会被执行,将StaticField初始化为42。

总的来说,静态类和静态方法主要用于那些与特定对象实例无关的功能,它们提供了一种组织代码和封装共享功能的方式,而不需要创建类的实例。

学点英语

单词音标解释例句难点单词拓展
static/ˈstætɪk/adj. 静态的;静止的;静力的;停滞的 n. 静电;静力学;天电(干扰);抨击Prices on the stock market, which have been static, are now rising again.
multiply[ˈmʌltɪplaɪ]v. 乘;乘以;(使)繁殖,增殖;成倍增加;迅速增加 adv. 多重地;多样地;复合地;多倍地1)2 multiplied by 4 is/equals/makes 8 (2×4 = 8) 2)Multiply 2 and 6 together and you get 12.timesIts profits are rising four times faster than the average company…
structure[ˈstrʌktʃə®]n. 结构;构造;体系;(尤指)建筑物;结构体;精心组织;周密安排 vt. 精心组织;系统安排;使形成体系 记忆 struct 建造,建立 + -ure 表名词1) his lectures have no structure. 2) the structure consisted of a series of archesarches /ˈɑːtʃɪz/ 拱形
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值