Минимальное число статиков Расставьте минимальное количество static-ов, чтобы код начал работать, и программа успешно завершилась. Требования: 1. Реализацию и модификаторы доступа методов менять нельзя. 2. Добавь модификаторы static в нужные места. 3. В программе должно быть только 4 модификатора static. 4. Программа должна выводить текст на экран. Пример кода (1)
package com.javarush.task.task06.task0616;

/*
Минимальное число статиков
*/

public class Solution {
    public static int step; //Изменяемый модификатор

    public static void main(String[] args) {
        method1();
    }

    public static void method1() {
        method2();
    }

    public static void method2() {
        new Solution().method3();
    }

    public void method3() {
        method4();
    }

    public void method4() {
        step++;
        for (StackTraceElement element : Thread.currentThread().getStackTrace())
            System.out.println(element);
        if (step > 1)
            return;
        main(null);
    }
}
Пример кода (2)
package com.javarush.task.task06.task0616;

/*
Минимальное число статиков
*/

public class Solution {
    public int step; //Изменяемый модификатор

    public static void main(String[] args) {
        method1();
    }

    public static void method1() {
        method2();
    }

    public static void method2() {
        new Solution().method3();
    }

    public void method3() {
        method4();
    }

    public void method4() {
        step++;
        for (StackTraceElement element : Thread.currentThread().getStackTrace())
            System.out.println(element);
        if (step > 1)
            return;
        main(null);
    }
}
При выполнение кода программы (1), выводится конечное число элементов. При выполнение кода программы (2), выводится бесконечное число элементов. Почему? (Изменяется только один модификатор в строке (8))