C#static关键字用法总结

C#static关键字用法总结

1.     首先解释一下static是什么意思?

Static是静态的意思,既然是静态,就是不变的,而不变就是他不会因为类中实例化对象的不同而不同,它在类中永远只有一份,就像中国人有许多,但我们只有一个国家中国。

2.由Static修饰的归属问题

static修饰的不管是变量还是方法,都属于类直接管理,所以类中所有的方法(这里方法包括静态和实例)都可以调用他们,就像公司里的打印机,它是属于公司的,公司里的人员(实例)都可以用它。

例如:

Class Program

{

      Static int i;

Static void main() {

      Console.WriteLine(i);  }

Void Aa()

{

            Console.WriteLine(“aaaaaaaaa”);

            main(); //实例方法可以调用静态方法main()

}

}

3Static修饰的范围

Static可以修饰类,使类成为静态类。这样在此类中只能定义静态的方法和静态的变量。

      static可以修饰变量,这个变量只能是成员变量,不能是局部的。

      既不能修饰方法体中的变量,以及形式参数。

static可以修饰方法,Main方法必须用static修饰,因为它是与程序共存亡的,是程序的入口和结束的大门。

例如:

Class Test

{    

Static int i;  //正确,静态成员变量,即使没有赋值,系统赋默认值0

Int i;  //正确,实例成员变量

Void Bb(static string str){ //错误,形式参数不能用static修饰

    Int b;  //错误,局部变量必须手动赋值,才可以使用

    Static int b; //错误,局部变量不能用static修饰

}

}

Static Class Test

{

      Static void Aa() {} //正确

      Void Bb() {}  //错误,静态类不能定义实例方法

}

4.static修饰的调用

①在本类里调用由static修饰的方法和变量,可以直接用

Class A

{

      Static int i;

Static void main() {

      Console.WriteLine(i);

      Bb();

 }

      Static void Bb(){

      Console.WriteLine(“ccccccccccccc”);

}

}

②在外类中调用static修饰的方法和变量,类名。方法名

或类名。变量名

Class Program{

      Static void Aa()  {

      Console.WriteLine(“bbbbbbbb”);  }

}

Class Test  {

      Program.Aa();

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值