gpt4 book ai didi

java - 当你在 Java 中有一个像 access$002 这样的变量时,这意味着什么?

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:56 24 4
gpt4 key购买 nike

我有一个 java jar,我已经在原始开发人员的许可下反编译了,我们将使用它,直到他们能为我们提供源代码的副本。我遇到了一个类的成员,如下所示:

Classname.access$002(Param1, Param2);

类名是正确的,但是 access$002 看起来不正确(除了名称 access$204 和附加到结束),我想知道这在 Java 中是否意味着什么,或者是否因为反编译操作不完整。

我正在使用 JD-GUI 反编译这些类。

还值得一提的是,至少在类 Classname 中没有与 access$002 方法具有相同签名的方法。

最佳答案

access$XXX 方法是内部非静态类对嵌套类成员的调用。

public class DummyDummy {

private int x = 0;
private Inner i = new Inner();
private int foo(int a, int b) {
return a+b+x;
}

private class Inner {
void doIt() {
System.out.println(
// Here, DummyDummy.access$0(DummyDummy, int, int) is called
// which calls DummyDummy.foo(int, int)
foo(1,2) );
}
}

public static void main(String[] args) {
new DummyDummy().i.doIt();
}

}

关于java - 当你在 Java 中有一个像 access$002 这样的变量时,这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com