Nome da Classe como modificador de método

6 respostas
J

Pessoal,

Estou estudando Java, e surgiu uma dúvida. Em que ocasião deve usar o nome na própria classe como modificador de um método?

class Box

{
	int x1 = 0;
	int y1 = 0;
	int x2 = 0;
	int y2 = 0;

	Box buildBox(int x1, int y1, int x2, int y2) 
	
			{
				this.x1 = x1;
				this.y1 = y1;
				this.x2 = x2;
				this.y2 = y2;
				System.out.println(y2);
		               return(this);
				
			}

Por que não utilizar int em vez do nome da clase?

[]'s

6 Respostas

malokas

Isso é o tipo de retorno do metodo não o modificador de acesso do metodo.
E o tipo de retorno é um Objeto Box e por isso não poderia ser um int.

J

Opsss… me expliquei mal! :oops: Gostaria de saber em que casos o tipo de retorno deve ser a classe, ok? Por que muitas vezes consigo o mesmo resultado usando primitivos

[]'s

malokas

Vo tentar da um exemplo aqui.

public class Pessoa{
	
	String nome;
	String cpf;
	int idade;
	
	public static void main(String[] args) {
		Pessoa p = new Pessoa();
		p.nome = "guj";
		p.cpf = "12345";
		p.idade = 30;

		p.getPessoa();
		p.getIdade();
		
	}

	Pessoa getPessoa(){
		return (this);
	}
	
	int getIdade(){
		return this.idade;
	}
}

Nesse metodo getPessoa eu to querendo recuperar o objeto Pessoa, por isso o tipo de retorno tem que ser Pessoa, pois estou recuperando um Objeto Pessoa que tem os atributos nome, idade, cpf. E no metodo getIdade eu quero recuperar somente a idade que é um primitivo por isso que uso a forma de retorno como int. Entendeu? Não sei se deu pra ficar bem explicado, mas espero que tenha dado uma ajuda.

J

Fala Malokas,

Valeu mesmo, creio que entendi, sim. Bom, vai parecer meio óbvio o que vou dizer, :oops: mas basicamente utilizarei o nome na classe quando quiser recuperar o objeto criado pela classe e suas respectivas variáveis. Correto?

malokas

Mais ou menos, você vai usar quando quiser retornar uma pessoa. Usando o exemplo que eu dei anteriormente, vamos supor que eu queria criar uma nova Pessoa que tem o mesmo nome e idade. Eu poderia fazer o seguinte metodo.

Pessoa novaPessoa(){
		Pessoa pessoa = new Pessoa();
		
		pessoa.nome = this.nome;
		pessoa.idade = this.idade;
		
		return pessoa;
	}

e la no main eu chamasse

Pessoa p2 = p.novaPessoa();

Entao p2 seria uma nova Pessoa que teria o mesmo nome e idade de p. O que eu quis mostrar é o seguinte, não necessariamente você vai ter que recuperar uma, mas o metodo pode fazer qualquer coisa, por tanto que retorne uma Pessoa, não necessariamente recupera-la entende?

J

Fala Malokas,

Agora capitei! Valeu mesmo!!!

Criado 27 de março de 2011
Ultima resposta 27 de mar. de 2011
Respostas 6
Participantes 2