例として、メンバー変数として String を入れています。ただ、もともと複雑な構造があります。
public class ClassA {
    private final String test ;
    public ClassA(String str) {
        test = str;
    }
    @Override public int hashCode() {
        return test.hashCode();
    }
    @Override public boolean equals(Object obj) {
        return obj instanceof ClassA && test.equals(((ClassA)obj).test);
    }
}
public class ClassB {
    public static void main(String args[])
    {
        ClassA obj1 = new ClassA("abc");
        ClassA obj2 = new ClassA("def");
        obj1.equals(obj2);
        obj2.test;//not valid
    }
}
私が知っていることから、 のプライベート変数へのアクセスtestはobj1ClassA のメソッド内にのみ存在し、これらのメソッドは のコンテキストから呼び出す必要がありますobj1。
obj2 のテスト変数を呼び出すとobj1.equals(obj2)、obj1 のコンテキストからアクセスできます。
そのため、ClassA メソッド内から ClassA 型の任意のオブジェクトのプライベート変数にアクセスできます。