This的基本用法

This的两种基本用法

一、是一个系统隐含的指针

public class ThisDemo1 {

public static void main(String[] args)

{

A aa1 = new A(10);

A aa2 = new A(20);

aa1.show();

aa2.show();

}

}

class A

{

public int i;

public A(int j)              

{                           

i= j;             

}

public void show()

{

System.out.printf("i = %d\n",i);

}

}

在对象aa1aa2都调用方法show()时,如何分辨呢,在javashow()方法相当于如下形式:

public void show(A *this)

 {

   System.out.printf("i = %d\n",(*this).i);

 }

哪个对象调用show()方法,那么this就指向当前调用该函数的对象

 

二、this表示正在调用该方法的那个对象

两种情况:

在普通方法中,this代表调用了该方法的对象,此时this可省略

在构造方法中,this代表该方法本次运行所创建的那个对象

 class A

{

private int i;

public A(int i)

{

this.i = i;  //将形参 赋给该构造方法本次运行所创建的那个新对象的实参i数据成员

}

public void show(){

System.out.println("i = " + this.i);

//this表示当前时刻正在调用show方法的对象

//this可以省略

}

}

 注:参考的郝斌老师的视频

你可能感兴趣的:(java进阶)