在方法调用中传递当前对象是好/坏/可接受的做法。如:
public class Bar{
public Bar(){}
public void foo(Baz baz){
// modify some values of baz
}
}
public class Baz{
//constructor omitted
public void method(){
Bar bar = new Bar();
bar.foo(this);
}
}
具体来说,就是这条线bar.foo(this)
可以接受吗?
这没有什么问题。什么是这不是一个好的做法是在构造函数内执行相同的操作,因为您将给出对尚未完全初始化的对象的引用。
这里有一个类似的帖子:Java 在构造函数中泄漏 this https://stackoverflow.com/questions/9851813/java-leaking-this-in-constructor他们解释了为什么后者是一种不好的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)