2012-10-22 30 views
-1

可以说,我有一个文件MainClass.class我认为包含以下代码如何编译的java.class文件

public class MainClass { 
public static void main(String[] args) { 

    App app = new App(5,17); 
    app.Answer(); 

} 
} 

基础上,MainClass.class我写了一个名为App.java简单的类,女巫添加2个数字。

public class App { 
private int num1; 
private int num2; 
private int sum; 

public App(int n1, int n2){ 
    num1=n1; 
    num2=n2; 
} 

public void Answer(){ 
    sum=num1+num2; 
    System.out.println("The sum of "+num1+" and " +num2+" is : "+sum); 
} 

} 

我的问题是我怎么能联系他们,看看它的编译,如果我不知道什么内部MainClass.class

我希望我的问题是清楚的

+0

我讨厌成为一个说它但不是,你的问题不清楚。 – Austin

+3

如果您确实拥有MainClass.class文件,并且没有源代码,那么您可以使用Java反编译器(bin \ javap)来查看类中实现的内容(即它包含的方法和它们的签名) 。 –

+0

问题并不清楚 – 2013-03-18 07:31:08

回答

2

正如Edwin Dalorzo所说,我建议您尝试反编译.class。但是为了你在做什么。你会:

  1. 编译App.java “的javac App.java”
  2. 运行MainClass.class的 “java MainClass”

这会做你想要说什么。

+0

谢谢你的工作 – toky

1

只需重新编译App.java和尝试运行MainClass。你不需要链接它。

+0

我该如何重新编译MainClass.class – toky

+0

你不能,因为你没有源码 – Clark

1

你应该有一个MainClass.java文件和一个App.java文件。您编译这两个文件并运行MainClass.class文件(您的驱动程序)。

.class文件包含Java字节码。如果2个.class文件位于同一个文件夹中,它们应该被链接。

+0

我不相信他有MainClass.java。我认为他只是拥有.class。 – Clark

+0

我只有MainClass.class – toky

+0

啊!我懂了。我误解了这个问题。 –