this表示当前对象的一个引用
下面简单说下this的几个应用
this可以调用当前对象的方法
class cam1
{
void print()
{
System.out.println("aaa");
}
void printsize()
{
this.print();
}
}
public class cam2
{
public static void main(String args[])
{
cam1 a=new cam1();
a.printsize();
}
}
输出为aaa
this调用了cam1类的成员函数
this可以调用当前对象的构造函数
class cam1
{
public cam1()
{
System.out.println("aaa");
}
public cam1(int a)
{
this();
System.out.println("bbb");
}
public cam1(int a,int b)
{
this(5);
System.out.println("ccc");
}
}
public class cam2
{
public static void main(String args[])
{
cam1 b=new cam1(1,2);
}
}
输出为
aaa
bbb
ccc
this调用了cam1类的构造函数
this可以把当前对象的引用作为参数传递给其他方法
class cam0
{
public cam1 a;
public cam0(cam1 s)
{
a=s;
}
}
class cam1
{
public cam0 b;
public int num=10;
void open()
{
b=new cam0(this);
}
}
public class cam2
{
public static void main(String args[])
{
cam1 m=new cam1();
m.open();
System.out.println(m.num);
System.out.println(m.b.a.num);
}
}
输出为
10
10
第一个输出即为对象m的成员num,其值为10
m.open()把当前对象m作为参数传递给类cam0的构造函数,即b.a=m,故m.b.a.num也为10