Tag: 这个

在java构造函数中传递“this”

查看以下代码: public class ClassA { private boolean ClassAattr = false; public ClassA() { ClassAHandler handler = new ClassAHandler(this); } } public class ClassAHandler extends GeneralHandler { ClassA ca = null; public ClassAHandler(ClassA classa) { this.ca = classa; } } 我需要在一些ClassAHandler方法和其他属性中访问ClassAattr 。 有没有办法在没有在处理程序构造函数中传递原始类的情况下这样做。 我真的不喜欢这个解决方案“看起来”。

为什么java中不允许赋值给’this’?

我从编译器得到的错误是“赋值的左侧必须是变量”。 我的用例是深度复制,但并不真正相关。 在C ++中,可以分配给*this 。 问题不在于如何规避this分配。 这很简单,但更确切地说,决定不将其变为变量的理由是什么。 原因是技术性的还是概念性的? 我的猜测到目前为止 – 以随机方法重建Object的可能性容易出错(概念性),但技术上可行。 编辑请限制“因为java规范如此说”的变化。 我想知道决定的原因