Per ogni argomento nel manuale che sto leggendo trovo:

descrizione del codice
funzionamento
codice


Non sempre riesco a capire la "descrizione del codice".

Per esempio questo esempio capisco come funziona:

codice:
// Use a BufferedReader to read characters from the console. 
import java.io.*; 
 
class BRRead { 
  public static void main(String args[]) throws IOException 
  { 
    char c; 
    BufferedReader br = new 
            BufferedReader(new InputStreamReader(System.in)); 
    System.out.println("Enter characters, 'q' to quit.");
    // read characters 
    do { 
      c = (char) br.read(); 
      System.out.println(c); 
    } while(c != 'q'); 
  } 
}
ma non riesco a capire il perché debba essere scritto così. La riga incriminata é questa:

codice:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Sto leggendo troppo superficialmente il manuale oppure non mi sono chiare alcune basi della programmazione ad oggetti?

A presto