有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java调用一个类的方法来使用另一个类的实例

我对Java多少有些陌生。 我的意图是将一个类的方法“导出”到另一个类中(使所有处理一个实例的方法都有一个整洁的结构)。我的问题是,我无法在当前重载类的实例和我放入另一个类的其他方法之间建立必要的连接

到目前为止,我已经启动了我的类Graph的一个实例,并将只应该获取该实例值的方法放入Readings。 由于我不知道我在{}中启动了多少{}实例,所以在{}中创建了一个方法,在{}中调用一个方法。 到目前为止,一切都很好(我假设),但问题是Readings中的方法并不真正知道如何处理我的Graph-Instance/在哪里访问getter的getter

static Graph graphToBeWorkedOn;

Readings类中,它没有真正的帮助,我得到的只是一个空指针

提前感谢您的建议/帮助

编辑: Graph

...
Readings readingsVariable = new Reading();
...

public List<SpecificNode> methodToBeCalled(int numberInput) {

List<SpecificNode> listOfMethod = new ArrayList<SpecificNode>();
listOfMethod = readingsVariable.methodOne(numberInput);
return listOfMethod;
}

Readings

...
Graph graphToBeWorkedOn;
...

public List<SpecificNode> methodOne(int numberInput) {

List<SpecificNode> listOfMethod = new ArrayList<SpecificNode>();
...
// fails here with a nullPointer:
graphToBeWorkedOn.getSpecificNode(numberInput)
...


return listOfMethod;
}

初始化测试主目录中的Graph并尝试调用

System.out.println(testGraph.methodOne(2));

共 (1) 个答案

  1. # 1 楼答案

    简单解决方案:使用Readings构造函数,将Graph对象作为参数,并使用它初始化graphToBeWorkedOn字段:

    在图表中:

    readingsVariable = new Reading(this);
    

    在阅读材料中:

    Readings(Graph graphToBeWorkedOn) {
        this.graphToBeWorkedOn = graphToBeWorkedOn;
    }