Вы должны прочитать этот раздел книги более глубоко. (Я уверен, что это действительно имеет смысл ... но вы просто еще не поняли.)
Понятно, что автор на самом деле пытается проиллюстрировать очень важный аспект Java ... как передаются параметры.
В частности, он пытается проиллюстрировать, что два идентификатора stream
предназначены для различных переменных, и что присвоение внутри метода
stream = new PrintWriter(fileName);
НЕ влияет на переменную stream
, объявленную непосредственно перед try
. Значение, присвоенное переменной stream
внутри метода, теряется.
Это показывает, что Java использует «передачу по значению» в качестве механизма передачи параметров. (Если вам нужно вернуть значение из вызова метода, простой способ сделать это - return
.)