static关键字

C#可以通过static关键字来定义许多静态成员。如果这样的话,这些静态成员就只能从类级别而不是类型实例调用。如Console.WriteLine("Thanks...");

 

1.静态成员只能操作静态数据或调用类的静态方法,不可调用非静态数据,因为静态数据时属于类的,而不是属于实例对象的。

2.静态成员只能操作静态数据,但非静态方法可以使用静态数据和非静态数据。

 

3.定义静态构造函数

 

  构造函数用于在创建类型时设置类型的数据值。如果在实例级别的构造函数中赋值给静态数据成员,你会发现每次新建的对象的时候静态值都会被重置。

  如:

 Class Account

{

    public  static double PI;

   public Account( double balance)

   {

       PI = 3.14;

       balance = PI;

   }

}

   虽然我们可以使用成员初始化语法来初始化静态数据的值,但如果静态数据值是需要从数据中获取的呢。由于这样原因,C#允许我们定义静态构造函数:

 Class Account

{

    public  static double PI;

   static Account()

   {

       PI = 3.14;

   }

}

  简而言之,静态构造函数是特殊的构造函数,并且非常适用于初始化在编译时未知的静态数据的值,静态构造函数需要注意几点:

 

1. 一个类只可以定义一个静态构造函数。

2.静态构造函数不允许访问修饰符,并且不能接收任何参数。

3.无论创建了多少类型的实例,静态构造函数只执行一次。

4.运行库创建类实例或调用者首次访问静态成员之前,运行库会调用静态构造函数。

 

4.定义静态类

   C# 通过静态类扩展了static关键字的作用。如果一个类被定义了一个静态类就不能用new关键字来创建,并且只能包含用static关键字标记的成员或字段(如果不是这样,就会收到编译错误)。

  如果我们创建一个只包含静态成员或常量数据的类,就不需要先进行分配。

项目的应用程序对象(如定义Main()方法)通常定义为静态类,以此来区别只包含静态成员,并且不能被直接创建。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值