Por que, embora possa receber um Object como parâmetro, o método println() ainda possui sobrecargas que recebem objetos de tipos específicos, como String e boolean?
ATÉ 50% OFF
TÁ ACABANDO!
0 dias
0 horas
0 min
0 seg
Por que, embora possa receber um Object como parâmetro, o método println() ainda possui sobrecargas que recebem objetos de tipos específicos, como String e boolean?
Olá Heron!
O método println() tem vários construtores e cada um deles recebe um tipo de argumento diferente. Ao fazer System.out.println(instanciaDoMeuObjeto);, o compilador consegue processar esse objeto, pois todos objetos que são criados, estendem (implicitamente) a classe Object, inclusive os tipos como String, boolean, int.
System.out.println(42); chama o construtor que recebe um argumento int e assim por diante.
Para uma leitura mais densa, mas com muitas informações, seguem os links da documentação do Java:
https://docs.oracle.com/javase/8/docs/api/index.html
https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#println-- (Esse link mostra as sobrecargas do println()).
Espero ter ajudado!