Привет всем, кто может подсказать, что происходит с функцией при таком коде ?
public void save(){
String myString =n.readstring();
if(n==null){
save();
return;
}
this.classString = myString;
}
Код может с ошибками , но суть передает, и не самый лучший. Мы читаем переменную, если в ней ничего нет, то снова вызываем функцию. Если данные есть, то пишем и закрываем переменную. Мне интересна рекурсивная часть.
В таком варианте получается, что функция в стеке остается, и порождается новая функция(как матрешка), и это будет продолжаться пока не закончится стэк JVM, или не будет получен результат. Если результат получаем, то все открытые функции схлопываются ? я правильно понимаю?