小编Adi*_*oon的帖子

为什么不同的Java反编译器显示不同的源代码?

我试图通过反编译.class文件来了解Java编译器的工作原理.我使用了Java反编译器(http://jd.benow.ca/)和showmycode(http://www.showmycode.com/)它们在.java文件中显示了不同的源代码.为什么?我应该相信哪一个.

.java文件

class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello, World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

.class文件由java反编译器解编译:

import java.io.PrintStream;

class HelloWorld
{
  public static void main(String[] paramArrayOfString)
  {
    System.out.println("Hello, World!");
  }
}
Run Code Online (Sandbox Code Playgroud)

.class文件由showmycode解编译

import java.io.PrintStream;
class HelloWorld {
   HelloWorld() {
   } 
   public static void main(string args[]) 
   {
       system.out.println("Hello, World!"); 
   }
}
Run Code Online (Sandbox Code Playgroud)

java compiler-construction decompiling decompiler

2
推荐指数
1
解决办法
417
查看次数