在 C# 中,static
关键字用于声明属于类本身而不是类的实例的成员。它可以应用于字段、方法、属性、构造函数、类和事件等。理解 static
的不同用法及其应用场景对于编写高效且可维护的代码至关重要。
1. 静态成员(Static Members)
静态成员属于类本身,而不是类的任何特定实例。这意味着你可以在不创建类的实例的情况下访问这些成员。
示例代码:
using System;
namespace AnimalExample
{
public class Animal
{
// 静态字段
public static int TotalAnimals = 0;
// 实例字段
public string Name { get; set; }
// 构造函数
public Animal(string name)
{
Name = name;
TotalAnimals++;
}
// 静态方法
public static void ShowTotalAnimals()
{
Console.WriteLine($"Total animals: {TotalAnimals}");
}
// 实例方法
public void Eat()
{
Console.WriteLine($"{Name} is eating.");
}
}
class Program
{
static void Main(string[] args)
{
// 创建两个 Animal 实例
Animal dog = new Animal("Buddy");
Animal cat = new Animal("Whiskers");
// 调用静态方法
Animal.ShowTotalAnimals(); // 输出: Total animals: 2
// 调用实例方法
dog.Eat(); // 输出: Buddy is eating.
cat.Eat(); // 输出: Whiskers is eating.
// 直接通过类名访问静态字段
Console.WriteLine($"Total animals: {Animal.Total