2010-11-22 60 views
1

我有兩個班級。JAR在第一課完成後退出

jar cvf practice.jar class1.class class2.class 

然後我設置開始進入點:

jar cfe practice.jar class1 class1.class 

當我執行的JAR文件,它正常工作,直到那裏是下一個過渡點我使用創建一個JAR文件類,即​​3210然後退出。但是想繼續下一堂課。

它應該去class2.class。既然它在說這個對象。顯然,它沒有。

public class class1 { 
    public static void main(String[] args){ 
     JOptionPane.showMessageDialog(null, "This is class 1", "Order",JOptionPane.PLAIN_MESSAGE); 
     class2 hey = new class2(); 
    } 
} 

public class class2 { 

    public class2() { 
     JOptionPane.showMessageDialog(null, "This is class 2", "Order",JOptionPane.PLAIN_MESSAGE); 
    } 
} 
+0

你可以包括一些從1類和類2的代碼? – thattolleyguy 2010-11-22 21:19:40

+0

請顯示您的源代碼和您收到的任何錯誤消息。 – 2010-11-22 21:20:13

+2

爲了社區的緣故,你應該將標題命名爲有意義的 – 2010-11-22 21:21:08

回答

0

我想你的榜樣,我得到一個NoClassDefFound爲class2按下後「OK 「在第一個窗口中。這是因爲不存在於practice.jar文件中。

請嘗試以下兩種,而不是你的jar ...命令:

jar cfe practice.jar class1 class1.class class2.class 
1

你使對象的Class2的新實例,但如果沒有什麼在構造函數中什麼都不會發生,我的猜測是,你在你需要調用Class2中的另一種方法有代碼?

我想這也將有助於知道你的意思是「退出」。

1

在main2中寫入的唯一代碼是在main方法中,創建該類的實例時不執行此方法。如果你要麼代碼移到構造函數或調用的主要方法:

public class Class1 { 

public Class1() { 
    JOptionPane.showMessageDialog(null, "This is class 1", "Order", 
      JOptionPane.PLAIN_MESSAGE); 
} 
public static void main(String[] args) { 
    Class1 c1 = new Class1(); 
    Class2 c2 = new Class2(); 
} 

}

public class Class2 { 
public Class2() { 
    JOptionPane.showMessageDialog(null, "This is class 2", "Order",JOptionPane.PLAIN_MESSAGE); 
} 

}