Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android反编译源代码的解码_Java_Android - Fatal编程技术网

Java Android反编译源代码的解码

Java Android反编译源代码的解码,java,android,Java,Android,我正在尝试为我最喜欢的Android应用程序之一制作一个图标扩展包,我唯一的资源就是一些反编译的源代码。我不确定应该用什么来代替“main.1 local1=new main.1(this)” 另外,我不太确定Main.access$0或这个$0需要什么。Eclipse向它们抛出了一个错误 int i = Main.access$0(this.this$0)[paramInt].intValue(); 当我编写自己的代码时,我使用这个源代码作为我的参考点。我只是需要帮助整理垃圾,以便更好地理解

我正在尝试为我最喜欢的Android应用程序之一制作一个图标扩展包,我唯一的资源就是一些反编译的源代码。我不确定应该用什么来代替“main.1 local1=new main.1(this)”

另外,我不太确定Main.access$0或这个$0需要什么。Eclipse向它们抛出了一个错误

int i = Main.access$0(this.this$0)[paramInt].intValue();
当我编写自己的代码时,我使用这个源代码作为我的参考点。我只是需要帮助整理垃圾,以便更好地理解它。我需要知道Main.1local1=newmain.1(这个)在说什么。以及Main.access$0(this.this$0)
因为main.1不适合Java

这些神秘的符号通常对应于匿名的内部类。Java虚拟机不知道它们,只知道顶级类,因此Java编译器提供了几种解决方法,以使内部类正常工作

据我所知,
Main.1
AdapterView.OnItemClickListener
的一些匿名本地实现:

OnItemClickListener local1 = new OnItemClickListener() {
    // ...
}
本地类具有对其封闭类实例的隐式引用,这就是为什么您会看到调用
newmain.1(this)
'此$0'对应于反编译代码中的此引用

JVM阻止类访问其他类的私有方法,因此编译器生成几个合成包私有方法,如
access$0
,以便访问封闭实例的私有方法。更详细地解释了这一点,如果需要从内部类访问包私有方法,建议使用包私有方法

intValue
可以显式调用,也可以是自动取消装箱的结果


Java语言还有许多其他特性是通过合成方法实现的,如泛型和协变返回类型。

对不起。我需要知道Main.1local1=newmain.1(这个)在说什么。以及Main.access$0(this.this$0)。我在这里读到这样的东西,只有在反编译源代码中才会出现。这里有一个像我一样的问题,关于一些反编译源代码。
OnItemClickListener local1 = new OnItemClickListener() {
    // ...
}