De que classe é o objeto referenciado pelo atributo out da System? [Resolvido]

Pessoal,

Estava fazendo uma questão da FJ-11(Caelum) quando “empaquei” nessa pergunta. Essa pergunta fez uma verdadeira confusão na minha cabeça. Vejam se estou pensando certo…

o “out” é um atributo estático da classe PrintStream e tambem da classe System. O que isso implica?
o “println” é um metodo da classe PrintStream.

Quando digitamos: System.out.println… estamos fazendo uma invocação de um metodo que é da classe PrintStream(println) no atributo “out” da classe System que tambem tem na Classe PrintStream… embolou tudo… risos… alguem poderia me esclarecer isso?

Abraço a todos…

A classe java.lang.System tem uma variável estática chamada out.
O tipo dessa variável é java.io.PrintStream.

Como você mesmo disse, você se confundiu. out é uma variável estática de java.lang.System (ok) mas seu tipo é java.io.PrintStream.

Sei…

Acho que entendi. É por isso que podemos fazer o codigo abaixo:

PrintStream saida = System.out;
saida.println("ola!");

ou seja, saida e System.out, ambas são do tipo PrintStream…
acho que clareou!! risos…

muito obrigado pela atenção!

Abraço…