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

时间:2015-03-11 13:55:41

标签: java

我或多或少是Java的新手。 我的目的是将一个类的方法“导出”到另一个类中(使用一个实例的所有方法的整齐结构)。我的问题是我无法在我当前重载的类的实例与我放入另一个类的其他方法之间建立必要的连接。

到目前为止,我已经启动了我的类Graph的一个实例,并将那些应该将该实例的值的方法放入Readings。 由于我无法理解我在Readings中启动了Class的实例,因此在Graph中调用Readings中的方法创建了一个方法。 到目前为止,这很好(我假设),但问题是Readings中的方法并不真正知道如何处理我的Graph的getter - 实例/访问getter的位置。

static Graph graphToBeWorkedOn;
<{1>}类中的

并没有真正帮助,我得到的只是一个空指针。

提前感谢任何建议/帮助!

编辑: 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

在test-main中启动... 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

2 个答案:

答案 0 :(得分:0)

从您提供的代码中,您永远不会初始化Graph对象。

你需要做

public List<SpecificNode> methodOne(int numberInput) {
graphToBeWorkedOn = new Graph(); // Initialize Graph
List<SpecificNode> listOfMethod = new ArrayList<SpecificNode>();
...
// Now you can call the method
graphToBeWorkedOn.getSpecificNode(numberInput)
...


return listOfMethod;
}

答案 1 :(得分:0)

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

图表中的

readingsVariable = new Reading(this);

阅读材料:

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