概述
问题的来源是这样的,前天在学习“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的对象!
最后
以上就是苹果哈密瓜为你收集整理的作为参数传递“this”变量的全部内容,希望文章能够帮你解决作为参数传递“this”变量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复