当前页面: 开发资料首页 → J2SE 专题 → 关于THIS的用法。谢谢
关于THIS的用法。谢谢
摘要: 关于THIS的用法。谢谢
初学JAVA,在看张孝祥的就业培训教程,读到THIS的时候,有一些不太明白。具体如下:
假设有一个容器类和一个部件类在容器类的某个方法中要创建部件类的实例对象,而部
件类的构造方法要接收一个代表其所在容器的参数,程序如下:
class Container
{
Component comp;
public void addComponent()
{
comp=new Component(this);
}
}
class Component
{
Container myContainer;
public Component(Container c)
{
myContainer =c;
}
}
这段代码字面意思我基本清楚,就是COMP引用Component
myContainer 引用Comtainer
但是搞不清楚为什么要这样引用。意义何在?写程序的时候什么样的情况下
会用到这样的。请帮忙详细解释一下谢谢
this
一个可以掉用自己的引用。
可以调用自己的引用。
那是不是也可以说是 调用自己就要用THIS?
to :“可以调用自己的引用。那是不是也可以说是 调用自己就要用THIS?”
当本类区别于父类、局部变量时使用,指的是当前类的属性或方法。
this就是指当前对象本身了。对象能做参数,this当然也能做参数。
一个简单的例子,程序中有一些批量操作,要求同时只能有一份操作。所以做了一个对象池来管理。其中有regBatch(BatchBody body) 和 unRegBatch(BatchBody body)
然后就可以在操作前
//注册一个操作
if(pools.regBatch(this)); //注册成功
{
......注册成功
pools.unRegBatch(this);//取消注册
System.out.println("批量操作成功");
}else{
System.out.println("批量操作错误,同样的操作已经存在,请过一段时间后再试。");
}
看看javabean的写法或许你会明白
this是指把当前类传过去,以便引用其中的方法
引用当前对象
comp=new Component(this);
这里的this指的是当前对象
MARK
this.变量
是本类class中的实力变量和方法
在内类中使用外类的实力变量和方法用OutClass.this
在这里最简单的理解
引用对象本身!