私はjavaのIDEとしてEclipseを使用しています。
次のコードを書きましたが、loadStrade()
に1つのエラーがあります。 Eclipseは私にloadStrade
をpublic void
からpublic static
に変更するよう提案しましたが、なぜそれが分かりませんか?
私は似たような問題を探しましたが、私のようないくつかの問題を発見しましたが、方法を静的に変更しなければならない理由はまだ分かりません。 Uffa!java静的メソッドなぜ必要です
このコードでは、routesNetはグラフ(jgraphT)であり、loadStrade()は頂点とエッジを設定するために使用されます。
私は助けてもらえますか?おかげで、ファブリツィオあなたは
m.loadStrade(m.getRoutesNet());
へ
loadStrade(m.getRoutesNet());
を交換し、非静的としてloadStradeを残す必要がある "メイン" で
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
}
メソッドを静的コンテキスト(静的メソッド 'main')から呼び出しています。メソッドを静的にするか、 'GestioneStrade'のインスタンスでメソッドを呼び出します。たとえば、' m.loadStrade(m.getRoutesNet()); ' – Berger
このクラスは '入れ子クラスですか? – ImAtWar
注: 'public void'を' public static'に変更するよう言っているわけではありません。 'public static void'になります。あなたはまだ戻り型が必要です。 –