gpt4 book ai didi

java - 在另一个类中创建一个类的对象?

转载 作者:行者123 更新时间:2023-12-02 11:09:32 25 4
gpt4 key购买 nike

我有两个类,我想知道为什么当我尝试在“Graph”类的方法中创建“Knoten”类的对象时总是出现错误。

类图

public class Graph
{

static Knoten[] knotenliste;


public void punktHinzufuegen(int x, int y){
for(int i=0;i<Gui.zaehler;i++){
knotenliste[i]=new Knoten(x,y);

}
}
}

类节点:

public class Knoten{

int xPos;
int yPos;

public Knoten(int x,int y){
xPos=x;
yPos=y;
}


}

每次我调用方法 punktHinzufuegen 时都会收到错误。感谢您的帮助..

最佳答案

您的问题是一个非常容易解决的问题,因此我将给出一个简短的解释/解决方案。

您当前的问题是,您没有定义您的knotenliste。您应该将其定义为以下字段:

private static Knoten[] knotenliste = new Knoten[Gui.zaehler];

我建议您不要使用静态值,而是开始使用固定的ArrayList(为了索引您的图点)或队列。如果您有兴趣阅读它们,则可以在 Java 文档中找到它们。我会做如下:

public class Graph {

private final ArrayList<Knoten> knotenliste = new ArrayList<>(Gui.zaehler);

public void punktHinzufuegen(int x, int y) {
for (int i = 0; i < Gui.zaehler; i++) {
// Keep in mind that the List#add(int index, E element) will
// shift all the elements previously in the array to the right.
knotenliste.add(i, new Knoten(x, y));
}
}
}

这样,您不仅可以停止滥用 static 关键字,而且还可以拥有更灵活的 Collection 来保存您的 Knoten。

关于java - 在另一个类中创建一个类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50697959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com