什么是字段?一般吧类或结构中定义的变量和常量叫字段。 字段分为:静态字段,实例字段,常量字段和只读字段。
常量字段:用const修饰符声明的字段为常量,常量只能在声明中初始化,以后不能再修改。
静态字段:用修饰符static声明的字段为静态字段。不管包含该静态字段的类生成多少个对象或根本无对象,该字段都只有一个实例,静态字段不能被撤销,必须采用如下方法引用静态字段:类名.静态字段名。
实例字段:类中定义的字段不使用修饰符static,该字段为实例字段,每创建该类的一个对象,在对象内创建一个该字段实例,创建它的对象被撤销,该字段对象也被撤销,实例字段采用如下方法引用:实例名.实例字段名。
只读字段:只读字段是特殊的实例字段,它只能在字段声明中或构造函数中重新赋值,在其它任何地方都不能改变只读字段的值
示例: class Program { //常量字段 public const int intMax = int.MaxValue; //静态字段 public static int cnt = 0; //实例字段 public int x = 0; //只读字段 public readonly int y = 0;
public static int aa;
public Program() { y = 5000; } static void Main(string[] args) { Program p1 = new Program(); Program p2 = new Program(); Program.aa = 55; Console.WriteLine(Program.aa); Console.WriteLine(Program.intMax); Console.ReadKey(); } }
什么是属性?属性不是字段,本质上是定义修改字段的方法,属性定义了得到和修改相联系的字段的方法。 class Person { private string _name = '张三'; private int _age = 12;
public void Display() { Console.WriteLine('姓名:{0},年龄:{1}', Name, Age); }
public string Name { get { return _name; } set { _name = value; } }
public int Age { get { return _age; } set { _age = value; } } } class Program { static void Main(string[] args) { Person onPerson = new Person(); onPerson.Name = '张三'; onPerson.Age = 50; onPerson.Display(); //Console.WriteLine(''); Console.ReadKey(); }
} 虽然属性和字段的使用方法类似,但是属性本质上是方法。因此不能把属性当做变量使用,一下使用变量的地方不能使用属性,例如,不能用属性作为函数的引用参数或输出参数。
|