2012-10-22 36 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

啊!我懂了。我誤解了這個問題。 –