当前位置: 代码迷 >> Java相关 >> this变量的问题?
  详细解决方案

this变量的问题?

热度:133   发布时间:2007-09-08 01:25:55.0
this变量的问题?

如下代码:
class A
{
String name;

public A(String x)
{
name=x;
}

public void func1()
{
System.out.println("func1 of " +name+"is calling");
}

public void func2()
{
A a2=new A("a2");
this.func1();
a2.func1();
}
}

class testA
{
public static void main(String [] args)
{
A a1=new A("a1");
a1.func2();
}
}

此代码的运行结果是:
func1 of a1 is calling
func1 of a2 is calling

我的问题是:
此时的变量this,应用的是a1 还是 a2 ,如果应用的是a1,为什么不是a2 .


搜索更多相关的解决方案: calling  public  color  

----------------解决方案--------------------------------------------------------
this就是表示正在操作的对象,也就是表示a1!!
好像没有理由哦!this定义本如此!!
----------------解决方案--------------------------------------------------------
哪个实例调用了(包含使用this)类的成员函数,this指代的就是这个实例.
----------------解决方案--------------------------------------------------------
this指向的是当前对象,函数func2()是被a1调用,也就是说a1是当前对象
----------------解决方案--------------------------------------------------------
  相关解决方案