This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
That's not the "constructor" for the method: it's the "declaration" for the method. Methods don't have constructors!
The answer to your question is that your Scanner object is the Java equivalent of the C++ istream. An istream is an object that's all set up and opened to read data from, just as a Scanner is. The "&" means you're passing a reference; by default, without that "&", in C++ a copy of the istream object itself would be passed (unlike in Java, where it's always a copy of a reference that is passed.)