Создал свой класс. Если запустить приложение с таким кодом, то все ломается.
public class Heroes {
Heroes [] id = new Heroes[1];
String name;
public Heroes(){
id[0] = new Heroes();
id[0].name = "asdf";
}
}
Но стоит поменять на другое и все работает.
public class Heroes {
Heroes [] id = new Heroes[1];
String name;
public Heroes(){}
public Heroes(int a){
id[0] = new Heroes();
id[0].name = "asdf";
}
}
Ну и конечно создавать тогда не Heroes x = new Heroes();а Heroes x = new Heroes(любой число);
Вопрос: создание классов под андроид отличается от той же JavaFX и обычной консоли? Потому что я первый раз с такой проблемой столкнулся. Среда разработки одна и та же.
Если запустить приложение с таким кодом, то все ломается
А вам ошибка StackOverflowError ни о чем не говорит?
В первом примере при вызове конструктора без параметров внутри него вызывается он же сам, и так до бесконечности:
public Heroes(){
id[0] = new Heroes();//вызов Heroes(), который снова вызовет себя в первой строке и.т.д.
id[0].name = "asdf";
}
Во втором же случае у вас из констуктора с параметром вызывается конструктор без параметров, который имеет пустое тело, соответственно никакого зацикливания не происходит и всё работает
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости