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

问题描述:

我无法访问java源代码,我从jar文件创建了java代码。 我需要修改Java文件之一添加一些额外的功能,它抱怨一个内部类方法

return Survey.access$000(); 

跟它无法解析方法'access$000()' 我应该怎么做才能摆脱这种错误 的到目前为止,我没有修改任何东西,我反向工程的jar文件。 有问题的类调查,它有以下内部类

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; 
/*  */  } 
+0

看来你要访问东西类调查的一个实例私人的东西是通过访问$ 000个()返回。那么,在这种情况下,类调查很可能不会被设计为允许您访问那些私人内容(可能出于安全原因?),因此您最好尝试一个替代类,而不是通过非“强制”对象 - 公共方法 – ignis 2011-06-07 19:25:06

+0

您反编译的代码也可能通过obfu机制(谷歌java模糊处理)模糊处理。 – 2011-06-07 20:22:58

看起来有原本是一些私有变量中的内部类访问。除了之外,不能总是将反编译类视为有效的Java源代码

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