I have tried too,and the mistakes is only about packages,you can resolve it by importing packages,or specifying which package contains the class.

解决方案 »

  1.   

    你是用javap吗?如果是的话,当然是和原来的不一样了啊你也可以用专业的反编译软件
      

  2.   

    sun的java编译是有固定规范的,也就是说,什么样的java代码编译成什么样的pcode,在jvm规范里是由详细说明的。
    而且,我强调一下,java的编译过程是不存在任何优化的,各位不要相当然的认为是编译器就有优化。javac里面那个优化参数是没有用的,jdk关于javac的文档中有说明。基于以上两点,才使得对java的反编译成为可能。
    从技术上来说,没有经过混淆的class都是可能被正确的反编译的。(根源代码一模一样是不可能的)。但反编译过程毕竟是一个猜测过程,要比编译过程复杂的多,所以反编译工具也不能保证正确的反编译任何代码。
      

  3.   

    要是你反编译过来跟源程序一样的话,那么SUN所鼓吹的Java语言的安全性还存在吗?