Duvida básica com a palavra reservada "return"

olá pessoal, sou novo aqui no forum e estou aprendendo java, se alguem puder me ajudar com uma duvida simples…

aprendi a fazer o encapsulamento com os metodos get e set, funcionam normalmente…

minha duvida é oq acontece no metodo get quando o invocamos, a instrucao dele é:

return ;

pelo oq entendi, o return é pra acessar o valor do atributo, e quando invoco o metodo get ele retorna o valor pra qm? pra onde?

ele “retornar o valor” ele realmente faz oq? atribui a alguma variavel ou sei la?

nao exibe uma mensagem pro usuario com o valor atual do atributo?

vlw… :?:

A keyword return não atribuí uma valor para um atributo, ele retorna um resultado para o método que o chamou:


public void metodo1() {
//valor da soma: 22
System.out.println(getValor1() + getValor2());
}

public int getValor1() {
return 10;
}

public int getValor2() {
return 12;
}

Além disso, o return pode ser usado para sair de um fluxo, veja o exemplo:

for (int i = 0; i < 100; i++) {
if (i > 30)
return;
else
System.out.println("Valor: " + i);
}

Você atribuí uma valor à uma variável associando ela diretamente ao valor:

//alguns exemplos...
String meuNome = "A lua sabe";
int valor;
valor = -2893;
char c = '\n';

A questão do encapsulamento é para proteger o seu código ou forcár quem irá utilizá-lo a chamar um método que encapsula um lógica que não é interessante o usuário saber.

Esperto ter ajudado!

legal agr enquanto no encapsulamento, qria saber como seria usado o get com o return por exemplo:

class Carro {

	private String marca;
	private String modelo;
	private Double preco;

	public void setMarca(String marca)
	{
		this.marca = marca;
	}
	
	public String getMarca()
	{
		return this.marca;
	}
	
	/*Da mesma forma com o modelo e preco
	
	...*/
		
}

public class Teste {
	public static void main(String[] args){
	
		Carro meuCarro = new Carro();
		
		meuCarro.setMarca("Volkswagen");
		
		meuCarro.getMarca();	
	}
}

Neste caso ao chamar o metodo getMarca() oq acontece?
eu pensava que ele exibia uma mensagem ao usuario com o valor do atributo, no caso: Volkswagen.

Mas pelo oq entendi o metodo get só servirá em comparações?

a minha maior dúvida é com o metodo get, qria saber exatamente oq ele faz… pois na declaracao ele faz um “return”, mas oq esse return faz?
essa é minha duvida…

se eu quisesse exibir ao usuario a marca do carro, o metodo get nao adianta?
e se fosse comparar a marca do carro para por exemplo selecionar apenas carros de uma certa marca… aí teria que por o metodo get dentro de um if?

quando programo aplicações, faço esse encapsulamento como parecer ser boa pratica, o metodo set sei usar normalmente, quanto ao metodo get, eu declaro ele porem nunca invoco, apenas fica la, pois nao sei qual sua função…

Boa tarde a todos.

É exatamente isto, a sintaxe “return” retorna o valor que está armazenado, neste caso, no atributo marca, e a função da sintaxe “return” e retornar valores para a linha (o lugar) de onde o método get foi invocado, e foi exatamente o que o nosso amigo Grivon explicou.

Exemplo:


class Carro {  
  
    private String marca;  
    private String modelo;  
    private Double preco;  
  
    public void setMarca(String marca)  
    {  
        this.marca = marca;  
    }  
      
    public String getMarca()  
    {  
        /*  Aqui o "return" retorna o valor que está armazenado no atributo marca
             Mas para onde  ? Vejamos logo abaixo. */
        return this.marca;  
    }  
      
    /*Da mesma forma com o modelo e preco 
     
    ...*/  
          
}  
  
public class Teste {  
    public static void main(String[] args){  
      
        Carro meuCarro = new Carro();  
          
        meuCarro.setMarca("Volkswagen");  
        
        /* A sintaxe "return" retorna o valor para cá,
            ou seja, ela substitui a sintaxe "getMarca(),
            pelo valor retornado por "return",
            só que este valor tem que está associado a 
            outra variável ou ser apresentado no linha
            do console, assim */
            System.out.println(meuCarro.getMarca());

                    
    }  
} 

É importante voce notar que quando voce invoca os métodos “gets”, eles tem que ser associados a um outra variável, ou ser mostrados através de outro métodos, porque voce simplesmente invocar o método meuCarro.getMarca() puro e simplesmente ele não vai jogar o valor de return para lugar nenhum. logo:

     System.out.println(meuCarro.getMarca());
     // ou
     String marca = meuCarro.getMarca();

     // Estas são as formas corretas de se usar os "gets"

Cappichi

bem vindo ao forum

antes de postar leia as regras… e use o [color=red]PESQUISAR[/color]

ontem respondi uma pergunta igual a sua

http://www.guj.com.br/java/237474-resolvido-duvida-sobre-parametros-e-seus-tipos-de-retorno

nao custaria nada ter usado o pesquisar e iria achar algo do genero!!

na proxima da uma olhadinha nas regras e pesquise…

no mais seja bem vindo e tentaremos te auxiliar no possivel