给定:类没有字段,每个变量都是本地的。littleString 是通过在 Eclipse 中重构 bigString 创建的:
public String bigString()
{
StringBuffer bob = new StringBuffer();
this.littleString(bob);
return bob.toString();
}
private void littleString(final StringBuffer bob)
{
bob.append("Hello, I'm Bob");
}
方法 littleString 不应该将 StringBuffer 传回,但实际上是。这里发生了什么样的黑魔法?这打破了我所知道的所有封装规则。我很震惊,言语让我失望。