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);
}
}
София
11 уровень
Пожалуйста, объясните мне, почему оно при трех статиках работают..? Что это меняет? И , плиз, скиньте ссылку на статью или что-то подобное, если не сложно.
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
WildTurbo
3 февраля 2020, 01:08
Кстати, у Вас 4 статика в программе - не забывайте, что метод main тоже статический:
public static void main(String[] args) {
+1
ArturExpert
4 января 2020, 21:15
Статики загружаютя вместе с классами, и ничего не знают о нестатиках, пока в памяти не появится объект.
Здесь работает, потому что мы создали объект в памяти, и вызвали у него нестатический метод.
+3
ArturExpert
4 января 2020, 21:07
https://javarush.com/quests/lectures/questsyntax.level06.lecture06
0