Variável

10 respostas
edymrex
Bem estou nos meus estudos de programação orientada a objetos e veio outra dúvida eu já sei que objeto é um molde da classe a qual eu posso utilizar seus atributos é métodos estou com dúvidas sobre variável de instância exemplo:
public class Teste2
{
	private String NomeDoCurso;
	
	public Teste2(String nome)
	{
		NomeDoCurso=nome;
	}
	
	public String getNomeDoCurso()
	{
		return NomeDoCurso;
	}
	
}
//classe que contém o metodo main
public class Teste2naim
{
	public static void main(String args[])
	{
		Teste2 chama = new Teste2("Esse é o curso 1");
		Teste2 chama2 = new Teste2("Esse é o curso 2");
		
		System.out.println("Chama >"+ chama.getNomeDoCurso());
		System.out.println("Chama 1 >"+ chama2.getNomeDoCurso());
	}
}

private String NomeDoCurso eu posso dizer que é uma variavel de instância já que não está em nenhum corpo do método é tb
e declarada no corpo da classe, tenho uma dúvida, tudo que é declarado no corpo de uma classe é um atributo dela???

Teste2 chama = new Teste2("Esse é o curso 1");
essa chama também que é uma variavél de instância que dizer que
ele referência diretamente a variável NomeDoCurso...?

qual a diferença entre as variaveis

Teste2 chama = new Teste2("Esse é o curso 1"); variável chama
private String NomeDoCurso; váriavel NomeDoCurso

cada objeto que eu crio é um novo molde da classe certo???
bem criei dois objetos Teste2 a dúvida que eu tenho
e se algum tem alguma coisa com o outro ou são independentes...??
eu posso criar vários objetos da classe e sempre ter elementos
diferentes depedendo do parâmentro que eu possar...????
tipo eu posso ter vários "xerox" da classe...???

10 Respostas

E
Quando você instancia um objeto você cria uma referência para ele na memória, então todas as vezes que vc instanciar um objeto, mesmo que tenham o mesmo conteúdo eles serão distintos, serão tratados de forma independente.

Tanto que se você criar 2 objetos, mesmo que nesse caso ambos tenham um atributo com o mesmo conteúdo irão possuir referências na memória diferentes :

Ex:

Teste2 chama = new Teste2(Esse é o curso 1);

Teste2 chama2 = new Teste2(Esse é o curso 1);
if(chama == chama2){

System.out.println(Iguais);

System.out.println(chama -> + chama);

System.out.println(chama -> + chama2);

}else{

System.out.println(Diferentes);

System.out.println(chama -> + chama);

System.out.println(chama -> + chama2);

}

A resposta deste if é diferentes …

Quanto a questão do xerox, você pode ter várias referências diferentes na memória (Objetos ou classe instanciada) de uma mesma classe.

Att.

:idea:
Eduardo

Mantu

eduardocsanto:

você pode ter várias referências diferentes na memória (Objetos ou classe instanciada) de uma mesma classe.

Qual a diferença que você vê entre “objeto” e “classe instanciada”? Aliás, não seria “instância de uma classe”?

loganwlogan

Prezado amigo,

Um objeto é o produto gerado por uma classe e cada vez que vc gera um objeto ele é diferente do outro, um exemplo bem legal é esse

Pessoa teste = new Pessoa(“Marcelo”, 29, “Professor”);
Pessoa teste2 = new Pessoa(“João”, 20, “estagiaário”);

é como na vida real, são duas pessoas e apesar de pertecerem a mesma classe (Pessoa) ambos tem características (atributos) diferentes, e eles teram os mesmo métodos contudo o retorno dos métodos será diferente de acordo com os atributos de cada um deles.

Espero ter ajudado a exclarecer susa dúvidas

Sds

Logan

Ironlynx

Dá uma lidinha no anexo que lhe ajuda…

edymrex

Poxa muito obrigado galera…! estou começando a compreender…!

Ironlynx

Logo estará ensinando!!! :smiley:

Ah, não posso esquecer, os exemplos que uso no tutorial vão em anexo.

rodrigo_salla

Nem tenho o que dizer, realmente esse Forum e nota mil…
Sinto orgulho de participar.

renatoes

Procure sempre procurar tb na API do Java alguns tutoriais interessantes.
http://java.sun.com/docs/books/tutorial/

Existe mta coisa legal, do básico ao avançado hehe :stuck_out_tongue:

[]'s

LPJava
Puppets:
Bem estou nos meus estudos de programação orientada a objetos e veio outra dúvida eu já sei que objeto é um molde da classe a qual eu posso utilizar seus atributos é métodos estou com dúvidas sobre variável de instância exemplo:
public class Teste2
{
	private String NomeDoCurso;
	
	public Teste2(String nome)
	{
		NomeDoCurso=nome;
	}
	
	public String getNomeDoCurso()
	{
		return NomeDoCurso;
	}
	
}
//classe que contém o metodo main
public class Teste2naim
{
	public static void main(String args[])
	{
		Teste2 chama = new Teste2("Esse é o curso 1");
		Teste2 chama2 = new Teste2("Esse é o curso 2");
		
		System.out.println("Chama >"+ chama.getNomeDoCurso());
		System.out.println("Chama 1 >"+ chama2.getNomeDoCurso());
	}
}

private String NomeDoCurso eu posso dizer que é uma variavel de instância já que não está em nenhum corpo do método é tb
e declarada no corpo da classe, tenho uma dúvida, tudo que é declarado no corpo de uma classe é um atributo dela???

Teste2 chama = new Teste2("Esse é o curso 1");
essa chama também que é uma variavél de instância que dizer que
ele referência diretamente a variável NomeDoCurso...?

qual a diferença entre as variaveis

Teste2 chama = new Teste2("Esse é o curso 1"); variável chama
private String NomeDoCurso; váriavel NomeDoCurso

cada objeto que eu crio é um novo molde da classe certo???
bem criei dois objetos Teste2 a dúvida que eu tenho
e se algum tem alguma coisa com o outro ou são independentes...??
eu posso criar vários objetos da classe e sempre ter elementos
diferentes depedendo do parâmentro que eu possar...????
tipo eu posso ter vários "xerox" da classe...???

hehe no inicio isso é gera varias duvidas mesmo. bom vamos lá respondendo algumas pergutnas suas.. Cada objeto que vc cria eh um novo molde da class sim observe a palavra new = novo. Aassim voce criou dois objeto que se referencia a mesma classe.. e do mesmo tipo lá na frente vc vai ver que pode ter um objeto de uma classe com o tipo de referencia a outra que ela extende.. isso quando ler sobre polimorfismo...relaxe.. Bom a respeito vc pode ter quantos objetos achar necessario de uma class o que diferencia os objetos nao é bem o parametro e sim o tipo.. por exemplo nao é pq vc coloco entre " ", algo diferente quer dizer que vc tem objetos diferentes. olha um exemplo legal:
public void setM(int a){}
public void setM(double a){}
tenho ai dois metodos com o mesmo nome porem tipos diferentes. Só não entendi a sua xerox da classe.. no seu codigo quando vc quiser imprimir o conteudo do objeto chama2.. é so chama-lo e do outro objeto é a mesma coisa, cada objeto possui sua referencia. Espero ter ajudado... com pouco conhecimento que tenho :P
edymrex

Poxa muito obrigado por min ajudar estou muito grato…!

Criado 15 de dezembro de 2006
Ultima resposta 26 de dez. de 2006
Respostas 10
Participantes 8