public class Tube {
private int x;
private int y;
private Texture t01;
private Tube[] tubes; //<----------------
private Random r;
public Tube(){
r= new Random();
x = 400 ; y = 0;
t01 = new Texture("tube.png");
tubes = new Tube[3]; //<------------------------------
for (int i = 0; i<tubes.length;i++){
tubes[i] = new Tube();
tubes[i].x = r.nextInt(10);
tubes[i].y = r.nextInt(10);
}
}
public void drawTube(SpriteBatch batch){
for (int i = 0; i<tubes.length;i++) {
batch.draw(t01, tubes[i].x, tubes[i].y);
}
}
Правельно ли я понимают, что нельзя создавать массив обьекта Tube[] в этом же классе Tube. Если да, то почему? Как по другому реализовать это?
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.StackOverflowError
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:133)
Caused by: java.lang.StackOverflowError
at java.io.InputStream.<init>(InputStream.java:45)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:140)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:146)
at com.badlogic.gdx.graphics.TextureData$Factory.loadFromFile(TextureData.java:98)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:92)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:88)
Вообще можно, есть даже паттерн проектирования "Компоновщик" который основан на этом.
Вам нужно добавлять элементы динамически когда это нужно, а не при создании нового экземпляра. Иначе у вас при создании экземпляра создается еще 3 таких, в которых тоже самое еще раз три по три, 3*3*3*3*3... в итоге бесконечность.
Нужно ограничить создание новых экземпляров, либо добавлять их вне конструкторов
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Intellij IDEA вообще не запускается: нажав на ярлык, ничего не происходиНикаких сообщений или ошибок нет, просто ничего, совершенно ничего не происходит
У меня есть JavaFX приложение со своим потоком и еще несколько других потоковМне нужно решить проблему с тем, что из этих потоков нельзя работать...