访问私有变量的 Java 静态方法
我的印象是,私有非静态变量只能通过变量所在的对象上调用的方法访问,但事实并非如此。有人可以解释一下为什么编译和运行的原因吗?
public class Sandbox {
    private String _privateString = "unmodified";
    public static void setPrivateString(String str, Sandbox s) {
        s._privateString = str;
    }
    public String toString()
    {
        return _privateString;
    }
    public static void main(String[] args) {
        Sandbox s = new Sandbox();
        setPrivateString("modified", s);
        System.out.println(s);
    }
}
输出:
modified
编辑:在 C# 中也是如此。