在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
之所以把this关键字放在类这个分类里面,是因为this只能在类的内部使用,使用他能访问类实例对象内部任何级别(不同类型的访问修饰符)的任何元素(字段,属性,方法等),但静态的类型的成员不能访问,因为静态成员不属于对象的一部分。MSDN里面是这样介绍this关键字的:用来引用类的当前实例。这句话说的很精简,我觉得重点是“当前实例”这四个字,下面我说说我个人的理解。 大家都知道类的定义只是描述了一种数据结构,或者说一种自定义的数据类型,并不能那来直接使用,需要实例化成对象。一个类可以实例化成很多对象,每个对象都是不同的实体(个人觉得这些对象最大的不同就是字段里面所包含的数据的不同),对this的理解可以转换成对一个类不同实例对象的理解,下面我给出具体的演示代码。
class A
这个例子我想应该很能说明什么是对类的当前实例(对象)的引用了。类A的成员方法displayI的作用是现实成员属性的值,那么this就会根据是那个对象调用了displayI()而显示调用对象的i的值。} 除了上面说的this还有另外两种用法,这两种用法也都是基于对上面的理解。一是用来区分当方法参数和数据成员同名时的情况。具体的看上面例子中有注释的那一行。二是把对象作为参数传递到其他的地方。如:ohter(this);这other一般应该是类的内部或其他类定义的方法。
public class Vistor
这段代码有点绕(来至张逸:晴窗笔记做了部分改动),大家可以想行为什么会是那样的结果。对于this做为声明索引器的用法在这里先不说(PS:我也还没学)。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论