以前对this的理解太过于肤浅,对于它的理解仅仅停留在指代对象的层次。对于this的用法一旦换了个环境就不晓得它指代哪一个对象,多层类的调用也会出现不理解的现象。所以,通过测试this用法,初步得出结论,现记录于此。函数
1 this是成员函数的一个特殊的固有的本地变量,它表达了(指向)调用这个函数的那个对象。测试
2 this起到了一个临时的表明做用,至关于一个变量。this
3 this表明对本类对象的引用,指向本类已经建立的对象,为何this指代的是本类的对象呢?spa
由于,可以调用本类函数的对象(这个对象的不管有几个管理者(能够是本身建立的变量,也能够是其余对象的成员变量),这些管理者最终都是要指向这个对象并与之创建联系的)必定是依据本类建立的,而this它最终与调用成员函数的那个对象创建了一个临时的链接,也指代或表明或表达了那个对象,所以,简而言之,this就是表示了它所在成员函数所在的类所建立的对象。对象
因此,this关键字“出如今”哪一个类中,就表明了那个类的对象。变量
4 另外,this并不能用在静态成员函数中,为何呢?this的用法
由于静态成员函数属于类,在类存在的时候就已经存在了,不须要依托建立对象去访问,而this指代实例对象,当没有使用对象去调用静态成员函数的时候,这个this是不合逻辑的,程序根本没法执行,所以,this放在静态成员函数中是错误的用法。引用
5 成员函数之间相互引用默认有一个this关键字,所以不须要添加this,成员函数中引用成员变量也是如此。程序
6 对于对象,或者this指代的对象都是能够做为参数传递的,一个对象能够有多个管理者(变量),但一个管理者只能有一个对象,或者说管理者的指向(包含的地址值)是单一的。co