Что происходит, когда метод возвращает значение?

Допустим есть такой метод:

int val() {
  return 1 + 1;
}

Если его вызвать, не сохраняя в переменную таким образом:

val();

Что в этот момент происходит и почему компилятор не выдает ошибку?

Я думал, что при вызове метода, он просто заменяется значением, которое возвращает.

То есть, если написать такую строку кода:

System.out.println(val());

То val(); заменяется значением, которое этот метод возвращает и код начинает выглядеть так:

System.out.println(2);

Но это не так. Ведь если написать просто число в коде, не присваивая его переменной, компилятор выдаст ошибку error: not a statement

Так что, метод не просто заменяется значением, которое он возвращает, а происходит что-то другое.

Объясните, пожалуйста


Ответы (0 шт):