Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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 无法解析方法';访问$000()';_Java_Decompiling - Fatal编程技术网

Java 无法解析方法';访问$000()';

Java 无法解析方法';访问$000()';,java,decompiling,Java,Decompiling,我没有访问java源代码的权限,我从jar文件创建了java代码。 我需要修改一个java文件以添加一些附加功能,它抱怨一个内部类方法 return Survey.access$000(); 它的意思是无法解析方法“access$000()” 我应该怎么做才能消除这个错误 到目前为止,我还没有修改任何东西后,我反向工程的jar文件。 所讨论的类是Survey,它有以下内部类 private static class SurveyPermissionCatalogFinder /* */

我没有访问java源代码的权限,我从jar文件创建了java代码。 我需要修改一个java文件以添加一些附加功能,它抱怨一个内部类方法

return Survey.access$000();
它的意思是无法解析方法“access$000()” 我应该怎么做才能消除这个错误 到目前为止,我还没有修改任何东西后,我反向工程的jar文件。 所讨论的类是Survey,它有以下内部类

private static class SurveyPermissionCatalogFinder
/*     */     implements PermissionCatalogFinder
/*     */   {
/*     */     private static final long serialVersionUID = 1L;
/*     */     private static SurveyPermissionCatalogFinder one;
/*     */ 
/*     */     public PermissionCatalog getCatalog()
/*     */     {
/* 225 */       return Survey.access$000();
/*     */     }
/*     */     public static SurveyPermissionCatalogFinder getInstance() {
/* 228 */       if (one == null) {
/* 229 */         one = new SurveyPermissionCatalogFinder();
/*     */       }
/* 231 */       return one;
/*     */     }

看起来原来有一些私有变量在内部类中被访问。除了你不能总是期望反编译的类是有效的Java源代码之外,你不能说你应该怎么做

请看下面的问题,了解神秘的
access$000()
方法的解释


似乎您希望访问类调查实例中的私有内容,即access$000()返回的内容。好的,在这种情况下,类调查可能不是为了让你访问那些私有的东西而设计的(可能是出于安全原因),因此你最好尝试另一个类,而不是通过它的非公共方法“强制”对象。你反编译的代码也可能通过某种模糊机制被模糊化(谷歌java模糊处理)。