作为参数传递“this”变量
<br />问题的来源是这样的,前天在学习“this”的相关用法时,因为书上描述不是很清楚。自己找了网上一篇关于这方面的总结,其中提到this的四种用法:<br />ü 构造方法的重用;<br />ü 消除歧义;<br />ü 返回对象—链式方法的调用;<br />ü 作为参数传递"this”变量-进行回调<br />前面三种都能看懂,可是第
问题的来源是这样的,前天在学习“this”的相关用法时,因为书上描述不是很清楚。自己找了网上一篇关于这方面的总结,其中提到this的四种用法:
ü 构造方法的重用;
ü 消除歧义;
ü 返回对象—链式方法的调用;
ü 作为参数传递"this”变量-进行回调
前面三种都能看懂,可是第四种方法始终没看懂;他的列子是:
假设有一个容器类和一个部件类,在容器类的某个方法中要创建部件类的实例对象,而部件类的构造方法要接受一个代表其所在容器的参数。例如:
class Container{
Component comp;
public void addComponent(){
comp = new Component(this); //代表你所创建的对象,因为它要用到.
}
}
class Component{
Container myContainer;
public Component(Container c){
myContainer = c;
}
}
后来在一位师兄的指点下终于了解了该方法的用法,这里我们定义的类Component中有一个带参构造函数其参数为“Container c”,所以我们在实例化该类时必须给他传递类型为Container的实例。所以如上我们在类Container中需要创建Component的实例,我们就必须给他传递类Container的实例。所以这里的this就代表我们将要创建的类Container的对象!
更多推荐
所有评论(0)