Ошибка Java.lang. StackOverflowError: Объяснение?

public class Ejemplo {
public static void main(String[] args) {
Ejemplo ejecutar = new Ejemplo();

ejecutar.asignarValores();

}

Ejemplo x = new Ejemplo(); // Aqui se produce el error

String nombre;

public void asignarValroes() {
x.nombre = "Juan";
System.out.print(x.nombre);
}

Ошибка, поскольку я видел, происходит в Ejemplo x = new Ejemplo(); из-за чего-то из 'бесконечного возврата', но он у меня не остается ясным: porqué эта ошибка выходит? Porqué в instanciar этот объект внутри метода asignarValores, если он выполняет это мне и у меня не выходит ошибка?

3
задан 15.08.2019, 12:45
1 ответ

VerÃ: s, , когда этот Пример создайте объект типа, верьте в инстанцию él сам ( Пример x = new Пример () ). Что в свою очередь создает другой самого и другой и другой , так что когда бы то ни было terminarÃ: создания инстанций. Попробуй это:

public class Ejemplo {
    public static void main(String args[]) {
      Ejemplo ejecutar = new Ejemplo();

      ejecutar.asignarValores();
    }

    String nombre;

    public void asignarValores(){
        nombre = "Pedrito Celedonio del Rio detras de Mi Casa III";

        System.out.println(nombre);
    }
}
4
ответ дан 11.11.2019, 02:11
  • 1
    И которому проистекает это? Потому что их называются бесконечные разы? Я понимаю немного má s porqué перемести ошибку, но он у меня не остается совсем –  Don't Qsy 15.08.2019, 12:58
  • 2
    больше, что называть строителя, эту линию: Пример x = new Пример (); верьте в объект, если сам, что верит в объект, если сам, что создает объект, если сам, и т.д.... –  gbianchi♦ 15.08.2019, 13:02
  • 3
    И какова ló gica, чтобы понимать, из-за которой он создает объекты, если сам постоянно?, потому что я понимаю, что верят в объекты, если сама бесконечно, но я не понимаю porqué он это делает. И потому что в main, что также creé инстанция, это не происходит? –  Don't Qsy 15.08.2019, 14:31
  • 4
    Программа, которую ты сделал, это делает: 1. - В funció n main верил в объект типа Пример, что (выполнил) 2. - Когда объект будьте создан (выполнять) этот, верьте в другой объект типа Пример (x) 3. - У нового объекта (x) есть другой объект типа Пример внутри (x.x) 4. - У нового объекта (x.x) есть другой объект типа Пример внутри (x.x.x) 5. - VM обнаруживает, что это будет происходить до бесконечности и бросит excepció n. –  Paolo 15.08.2019, 14:52
  • 5
    Okey, и потому что в Примере (выполнять) не происходит это? –  Don't Qsy 15.08.2019, 15:25