[RESOLVIDO] Métodos co retorno void - Dúvida

3 respostas
guj1

Questão 1
Estou estudando o livro: introdução à programação orientada a objetos usando Java.
Li em uma passagem o seguinte:
Métodos que retornam VOID não precisam ter a palavra-chave RETURN no seu corpo, e se tiverem, esta não deve ser seguida de nenhuma constante ou variável.

Bom, eu entendi a primeira parte e sei que quando um método é void ele não deve, ou não deveria até onde sei, retornar nada. Mas a parte que não entendi foi: e se tiverem, esta não deve ser seguida de nenhuma constante ou variável Alguém pode me explicar?

Questão 2
Se um método deve retornar apenas uma valor, não é void, como ele pode retornar uma instância de um objeto que possui variáveis e mátodos. Como essa parte funciona esse retorno de instância de objeto?

Grato pela atenção?

3 Respostas

D

Questão 1, métódos void com return:

...
public void naoRetornaNada() {
   if (1 == 1) {
      System.out.println("1 é igual a 1");
      return; // esse tipo de retorno que métodos void aceitam
   }
   System.out.println("Se chegou aqui, então 1 não é igual a 1");
}

return dentro de métodos void simplesmente é um jeito de bloquear as instruções abaixo dele, ou seja tem o mesmo efeito de um break em um laço for ou while.

Questão 2, métodos que retornam um valor:

Esse “valor” que o método retorna a grosso modo é uma posição de memória que atribuída a uma variável, aponta para essa posição, é aí que muitas variáveis de um mesmo tipo podem apontar para o mesmo objeto (endereço de memória) e através do operador ponto (.) é possível acessar seus valores.

guj1

Perfeito!
Obrigado.

D

Tranquilo.

Criado 5 de maio de 2013
Ultima resposta 6 de mai. de 2013
Respostas 3
Participantes 2