代码之家  ›  专栏  ›  技术社区  ›  razshan

jar在第一个类完成后退出

  •  1
  • razshan  · 技术社区  · 14 年前

    我有两节课。我创建了一个JAR文件,使用:

    jar cvf practice.jar class1.class class2.class
    

    然后我设置了起点:

    jar cfe practice.jar class1 class1.class
    

    当我执行JAR文件时,它可以正常工作,直到有一个到下一个类的转换,即。 class2 hey = new class2(); 然后它就出来了。但想继续下一节课。

    应该去二班。因为它是在那个物体上说的。显然,不是。

    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);
        }
    }
    
    3 回复  |  直到 14 年前
        1
  •  0
  •   Grzegorz Oledzki    14 年前

    我试过你的例子,结果发现 class2 在第一个窗口中按“确定”后。那是因为 class2.class 不存在于 practice.jar 文件。

    尝试以下操作,而不是同时使用两个 jar ... 命令:

    jar cfe practice.jar class1 class1.class class2.class
    
        2
  •  1
  •   stu    14 年前

    您正在创建对象类2的新实例,但如果构造函数中没有任何内容,则不会发生任何事情,我猜您需要调用类2中的另一个方法中的代码?

    我想这也会有助于了解你的意思是“退出”。

        3
  •  1
  •   Kennet    14 年前

    类2中编写的唯一代码在main方法中,创建该类的实例时不执行此方法。如果将代码移动到构造函数或调用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);
    }
    

    }