this的用法

1、表示类的成员变量,而非函数参数(注意在函数参数和成员变量同名是进行区分)

例:

class Demo{

int age = 18;

void print(int age){

.out.(“打印类成员变量age=” + this.age);

.out.(“打印函数参数变量age=” + age);

void main( []args){

Demo Myage = new Demo();

Myage.print(28);

运行结果:

D:>javac Demo.java

D:>java Demo

打印类成员变量age=18

打印函数参数变量age=28

可见,打印出来的类成员变量为18,为在开始定义的,打印出的函数参数变量为28,为后来传参的。

2.表示返回自身这个对象。

例:

class Demo{

int age;

Demo (){

age++;

this;

void print(){

.out.(“age=” + age);

void main( []args){

Demo Myage = new Demo();

Myage.().().().print();

运行结果:

D:>java Demo.java

D:>java Demo

age=3

可见返回值为3,年龄自增三次。

3.一个类中定义两个构造函数,在一个构造函数中通过 this 这个引用来调用另一个构造函数。

class {

运行结果:

D:>java .java

D:>java

最终的名字=Mick

最终的年龄=21

总结一下,this主要要三种用法:

1、表示对当前对象的引用!

2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。

3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!

还有就是注意:this不能用在方法中!所以甚至有人给方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在方法中使用!

说明在什么情况下需要用到this:

第一、通过this调用另一个构造方法,用发是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。

第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错。

第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!