这是什么参考?

Jos*_* C. 4 java decompiler

假设我有这个课程:

public class class1 extends Applet implements Runnable
{
    private String s;
    private URL u;
    ...
}
Run Code Online (Sandbox Code Playgroud)

第二节课:

class TS extends Thread
{
    private final class1 _$97913;
    public TS(class1 paramclass1)
    {
        this._$97913 = paramclass1;
    }
    ...
    public void PostData()
    {
        ...
        class1.access$16(this._$97913, new Socket(class1.access$17(this._$97913), 80);
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释如何从class1 class1.access$16(this._$97913, new Socket(class1.access$17(this._$97913), 80);引用private URL u;

access$16来自哪里?这叫什么,我在哪里可以了解更多?

好,这是的反编译的代码的结果,是有办法到数字(关联access$16,access$17等)到原始变量或类?从我所看到的,唯一的方法是手动执行(即查看被引用的内容并猜测,因为'此'类接收了一个URL,然后'this'必须与'that'变量相关联)?

Mik*_*uel 5

这是反编译java的结果吗?

它看起来像一个合成方法,允许外部和内部类访问彼此的私有字段或方法.

当使用private修饰符指定的属性被封闭类访问时,Java编译器必须在嵌套类上创建合成方法.下一个代码示例表明了这种情况.

...

如上面的屏幕快照所示,已在嵌套类NestedClass上创建名为access $ 100的合成方法,以将其私有String提供给封闭类.请注意,仅为封闭类访问的NestedClass的单​​个私有属性添加合成方法.