我有一个
java jar我已经反编译了原始开发者的权限,我们将使用,直到他们可以得到我们的源代码的副本.我遇到了类似于以下内容的类的成员:
Classname.access$002(Param1,Param2);
类名是正确的,但是访问$002看起来不正确(除了名字访问$204,其他数字附加到最后,还有其他几个),我想知道这是否意味着Java中的任何东西,或者是因为反编译操作是不完整的.
我正在使用JD-GUI反编译这些类.
解决方法
访问$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(); } }