首页 > 解决方案 > 每当我在另一个框架中设置静态变量的值时出现 ExceptionInInitializerError

问题描述

我在某个类中创建了三个静态变量,并使用 setter 和 getter 来处理它们。每当我在 Jframe 中调用 setter/getter 或直接调用静态变量(将它们设为公共时)时,我都会收到此异常。这些静态变量和方法位于一个名为 Validation 的类中,并声明如下:(其中之一)

public static int valid;
   public static int getValid() {
    return valid;
}

public static void setValid(int valid) {
    Validation.valid = valid;
}

……

之后,我在 Jframe 源代码中调用它们,以便在单击按钮时执行:if(flag){

        Validation.setValid(0);
        Validation.setInvalid(0);
       
    try {

        JOptionPane.showMessageDialog(null, "The process might take a while, Please Wait and don't close the program!\n");
        Validation.URLsValidation(link, 0, depth, "????");
        OutputFrame f = new OutputFrame(Validation.getValid(),Validation.getInvalid());
        this.hide();
        f.setVisible(true);
        
        //open new frame of output wit hvalue of valid and invalid in it
    } catch (IOException ex) {
        Logger.getLogger(InputFrame.class.getName()).log(Level.SEVERE, null, ex);
    } catch (InterruptedException ex) {
        Logger.getLogger(InputFrame.class.getName()).log(Level.SEVERE, null, ex);
    }

...

谁能告诉我怎么了?

标签: javaexceptionstatic

解决方案


推荐阅读