C#public和static变量的区别 using System;
namespace Project3
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
public class Class1
{
public int b;
public static int a;
public void Class11()
{
b=b+1;
a=a+1;
System.Console.Write("static:" + a + "/n");
System.Console.Write("public:" + b + "/n");
}static修饰的变量
}
public class Class2:Class1
{
public void Class22()
{
b=b+1;
a=a+1;
System.Console.Write("static:" + a + "/n");
System.Console.Write("public:"+ b + "/n");
}
static void Main(string[] args)
{
Class1 bb = new Class1();
bb.Class11();
Class2 cc = new Class2();
cc.Class22();
System.Console.Read();
}
}
}
输出结果
static:1
public:1
static:2
public:1
在⽤继承的时候,public修饰符会⾃动初始化,在这⾥相当于⾃动初始b,⼜把它变为了0.
在⽤static修饰符的时候,不会⾃动初始化,把变量的值记录下来.