There has to be a point -
SOMEWHERE - in the flow of control for information to be passed from on part of the program to another. This is where abstracting away the fundamental operation of the machine shows a weakness as a design paradigm.
Although one could design a language such that a declaration of a reference to an object was made useable by that declaration,
Java has historical origins such that auto-vivification of variables compartmentalizes to the area where the variable is declared.
To access that variable from another area of the program, you have to ask for it.
That would be called a getter method.