Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Por que o void ao criar seters tipo String como nome não está compilando? Só funcionou quando usei String.

                    `public void setNome(String nome){`     return this.nome = nome; } diz que não pode retornar um valor.
3 respostas

Olá, Athos!

void é equivalente a "vazio", ou seja, sem retorno. Caso queira retornar algum valor, ao invés do uso do void, você deve colocar lá o tipo de dado que deseja retornar, como o exemplo abaixo:

Utilização do Void

public void setNome(String nome) {
        this.nome = nome; 
}

Retornando valor

public String getNome() {
        return this.nome; 
}

Espero que isso lhe ajude.

Abraço!

Olá Rutyelle. Muito obrigado pela ajuda, entendi melhor sobre o funcionamento do void. Meu problema é que por alguma razão o public void setNome(String nome){ não está compilando por alguma razão. Será que poderia ter algo haver com a versão java? Mais uma vez, obrigado pela ajuda.

solução!

Olá, Athos!

Entendi! Observe seu exemplo postado aqui, você deve remover a palavra return. O termo return é utilizado apenas para retornos ou quando você quer parar a execução de um código naquele ponto em especifico. Vou deixar abaixo exemplos da utilização do return

Seu código

public void setNome(String nome){    return this.nome = nome; } diz que não pode retornar um valor.

Mude para meu exemplo:

public void setNome(String nome) {
        this.nome = nome; 
}

Exemplo utilizando o return para retornar algo:

public String getNome() {
        return this.nome; 
}

Exemplo da utilização do return para interromper a execução de um método:

public void RealizarSaque(double valor) {
        if (valor > this.ValorNaConta)
                return;

        this.ValorNaConta -= valor;
}