美文网首页
19、静态类、方法static

19、静态类、方法static

作者: Peuimporte | 来源:发表于2021-11-01 09:37 被阅读0次

1.简介:

使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。
static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。

2. 示例:

如果一个类声明为 static,那么这个类只能包含 static 方法:

        static class SomeClass
        {
            public static void DoSomething() { /*...*/ }
            public static void DoSomethingElse() { /*...*/  }
        }

不能通过实例引用静态成员。 然而,可以通过类型名称引用它。

尽管类的实例包含该类所有实例字段的单独副本,但每个静态字段只有一个副本。
不可以使用this来引用静态方法或属性访问器。
如果对类应用static 关键字,则该类的所有成员都必须是静态的。
类和静态类可以有静态构造函数。 静态构造函数在程序开始和类实例化之间的某个时刻调用。

3. 静态构造方法

静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。

    class SimpleClass
    {
        static SimpleClass()
        {
            Console.WriteLine("SimpleClass");
        }
    }

静态构造函数具有以下特点:

  • 静态构造函数既没有访问修饰符,也没有参数。
  • 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。
  • 无法直接调用静态构造函数。
  • 在程序中,用户无法控制何时执行静态构造函数。
  • 静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
  • 静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 LoadLibrary 方法

**示例 : **
在此示例中,类 Bus有一个静态构造函数和一个静态成员 Drive()。当调用 Drive()时,将调用静态构造函数来初始化类。

   public class Bus
    {
        // Static constructor:
        static Bus()
        {
            System.Console.WriteLine("The static constructor invoked.");
        }

        public static void Drive()
        {
            System.Console.WriteLine("The Drive method invoked.");
        }
    }

    class TestBus
    {
        static void Main()
        {
            Bus.Drive();
        }
    }

输出 : 
The static constructor invoked.
The Drive method invoked.

4. 总结:

静态类:

  • 如果一个类,被声明为静态类,那么该类不可以被实例化,也不可以被继承,同时不可以包含非静态成员。
  • 非静态类中,可以包含静态成员。

静态方法

  • 静态方法中,不可以访问非静态成员。
  • 非静态方法中,可以调用静态和非静态成员。

静态成员的生命周期是:从程序开始到程序结束

相关文章

  • 19、静态类、方法static

    1.简介: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、...

  • 类方法和实例方法

    类方法即静态方法,用static修饰;实例方法即非静态方法,没有static修饰。 类方法 1、在类方法中不能引用...

  • php中静态类和非静态类

    静态类:类中含有static定义的静态属性或方法的类 静态类访问方法: 1、静态方法不需要实例化对象,可以通过类名...

  • Java中final与static的用法

    一.static static即表示“静态”,可用来修饰变量,方法,内部类以及代码块。 1. static类 静态...

  • static关键字及变量类型特点的对比

    1、static修饰的变量叫"静态变量" 2、static修饰的方法叫"静态方法" 3、定义静态语句块:在类加载阶...

  • 类变量、成员变量、局部变量

    类变量: 也成为静态常量。类中独立于方法之外的变量,用static修饰。(static表示“全局的”、“静态的”,...

  • kotlin基础

    静态方法(companion object),静态类(object)Java中修饰静态方法,使用关键字static...

  • class 类的用法

    1.类的用法 2.类的静态成员(静态属性和静态方法) 注意: 1.静态方法就在方法前面添加static.2.静态方...

  • 面试过程中套路最深的8道Java面试题,你会踩雷吗?

    static 和 final 的用法 static 的作用从三个方面来谈,分别是静态变量、静态方法、静态类。 静态...

  • C#笔记二

    一. 静态方法,静态类 (static) 静态和非静态区别 在非静态类(public class)中,既可以有实例...

网友评论

      本文标题:19、静态类、方法static

      本文链接:https://www.haomeiwen.com/subject/wckzaltx.html