我或多或少是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
答案 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;
}