【问题标题】:Null pointer when calling a method in another class调用另一个类中的方法时的空指针
【发布时间】:2012-02-05 00:35:43
【问题描述】:

我有一个输入面板,想在按下按钮时调用另一个类中的方法,但我得到一个空指针异常。希望有人能告诉我我做错了什么吗?

这是导致它的代码:

public void actionPerformed(ActionEvent ae)
    {
        if (ae.getSource() == resultsButton)
        {
            jbTour.processAdditionalResult();
        }

    }


public void processAdditionalResult()
    {
        System.out.println("button pressed");
    }

【问题讨论】:

  • 添加异常堆栈跟踪,然后我们可以很容易地找到错误..
  • 哪一行导致异常?

标签: java methods nullpointerexception call


【解决方案1】:

您需要初始化 jbTour: jbTour = new JBTourObject()(或其他),以便在调用 actionPerformed 方法之前它不为空。

【讨论】:

    【解决方案2】:

    我想即使没有堆栈跟踪我也能分辨出来:jbTour 为空。您已在实现 ActionListener 接口的类中声明了该引用类型的名称,但您从未将其初始化为指向新的引用。

    【讨论】:

      【解决方案3】:

      如果这引发 NullPointerException

      jbTour.processAdditionalResult();
      

      这意味着 jbTour 尚未设置或者是null

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-12
        • 2014-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多