我使用eclipse作为Java的IDE。
我编写了以下代码,但我在loadStrade()
上有一个错误。 Eclipse建议我将loadStrade
从public void
更改为public static
,我不明白为什么?
我已经找到了类似的问题,我发现了一些像我这样的问题,但我仍然不明白为什么我必须将方法改为静态。 UFFA!
在代码中,routesNet是一个图形(jgraphT),而loadStrade()用于填充顶点和边缘。
我可以帮忙吗?谢谢,Fabrizio
public class GestioneStrade {
private Stradario routesNet;
public static void main(String[] args) {
/*
* Instantiate Stradario and fill it with routes and cross
*
*/
GestioneStrade m = new GestioneStrade(); //istance of gestionestrade ok?
// now I set new routesNet
m.setRoutesNet(new Stradario());
loadStrade(m.getRoutesNet()); // why loadStrade must be static :-(
}
public Stradario getRoutesNet() {
return routesNet;
}
public void setRoutesNet(Stradario routesNet) {
this.routesNet = routesNet;
}
public void loadStrade(Stradario str) {
// some code to fill routesNet
}
答案 0 :(得分:1)
" main"你应该替换
loadStrade(m.getRoutesNet());
到
m.loadStrade(m.getRoutesNet());
并将loadStrade保留为非静态。