A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sunrise2 高级黑马   /  2014-7-22 23:17  /  896 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等; 也可以用this来做为参数状当前实例做为参数传入方法.
还可以通过this[]来声明索引器

下面是你这段程序的注解:

  1. <p>// 引入使命空间System </p><p>using System; </p><p>// 声明命名空间CallConstructor </p><p>namespace CallConstructor </p><p>{ </p><p>// 声明类Car </p><p>public class Car </p><p>{ </p><p>// 在Car类中: </p><p>// 声明一个非静态的整型变量petalCount,初始值为0 </p><p>// 未用Static声明的变量叫做静态变量,非静态成员属于 </p><p>类的实例,我们只能在调用类的构造函数对类进行实例化后才能通过所得的实例加"."来访问 </p><p>int petalCount = 0; </p><p>// 声明一个非静态的字符串变量s,初始值为"null"; </p><p>// 注意:s = "null"与s = null是不同的 </p><p>String s = "null"; </p><p>// Car类的默认构造函数 </p><p>Car(int petals) </p><p>{ </p><p>// Car类的默认构造函数中为 petalCount 赋值为传入的参数petals的值 </p><p>petalCount = petals; </p><p>// 输出petalCount </p><p>Console.WriteLine("Constructor w/int arg only,petalCount = " + petalCount); </p><p>} </p><p>// 重载Car类的构造函数 </p><p>// : this(petals) 表示从当前类中调用petals变量的值来作为构造函数重载方法Car(String s, int petals)的第二个参数</p><p>Car(String s, int petals) </p><p>: this(petals) </p><p>{ </p><p>// 在构造函数中为s赋值 </p><p>// 非静态成员可以在构造函数或非静态方法中使用this.来调用或访问,也可以直接打变量的名字,因此这一句等效于s = s,但是这时你会发类的</p><p>//变量s与传入的参数s同名,这里会造成二定义,所以要加个this.表示等号左边的s是当前类自己的变量 </p><p>this.s = s; </p><p>Console.WriteLine("String & int args"); </p><p>} </p><p>// 重载构造函数,: this("hi", 47) 表示调Car(String s, int petals) 这个重载的构造函数,并直接传入变量"hi"和47 </p><p>Car() </p><p>: this("hi", 47) </p><p>{ </p><p>Console.WriteLine("default constructor"); </p><p>} </p><p>public static void Main() </p><p>{ </p><p>Car x = new Car(); </p><p>Console.Read(); </p><p>} </p><p>} </p><p>}</p>
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马