Минимальное число статиков
Расставьте минимальное количество 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))