反编译是将.class类文件反向编译为Java源文件的过程。但是反编译后注释、未初始化的变量都不会显示,变量的声明和赋值被合成一句,变量名字可能会随机分配。例如源文件为:

package com.test;

public class HelloWorld{
    public static void main(String[] args) {
        // 这是单行注释
        String name;
        int age;
        age = 20;
    }
}

将编译后产生的.class类文件通过反编译工具得到的源文件为:

package com.test;

public class HelloWorld
{
  public static void main(String[] args)
  {
    int age = 20;
  }
}