Duvida declaração de objeto

6 respostas
G

Sou iniciante e tenho uma duvida muito inciante tb.

Quando vamos declarar uma variavel para um objeto se faz assim por exemplo:

Conta c1 = new Conta();

O que não entendo aqui é o primeiro Conta. fica no lugar dos tipos… c1 é a variavel que faz referencia ao objeto criado. Mas e essa conta? é o tipo da variavel? mas porque conta? Sei que é meio maluca a pergunta… kk mais estou me perguntando isso faz tempo!

6 Respostas

Z

Também sou iniciante mas acredito que você possa sim dizer que c1 é do tipo Conta… e a palavra Conta é o nome da classe. Se você criar uma classe com o nome Gabriel quando for criar uma nova referência a ela em outra, vai usar Gabriel zzz = new Gabriel(); é isso que queria saber?

S

Conta c1 = new Conta();
1 2 3 4

1: Tipo do objeto. No caso, ela indica que a variavel declarada pode fazer referencia a qualquer tipo de conta (ou seja, a qualquer objeto de tipo Conta e suas subclasses). Exemplo:

Conta.java

public class Conta {
//codigo
}

ContaCorrente.java

public class ContaCorrente extends Conta{
//codigo
}

public static void main(String args[]){ Conta conta = new Conta(); Conta conta2 = new ContaCorrente(); }

Ambos funcionam já que ContaCorrente é uma Conta (herda de Conta).

2: É o nome da variável.

3: O operador new seve para chamar um construtor.

4: O construtor a ser chamado.

Se não entendeu, poste aqui que eu vou tentar explicar de forma diferente.

G

Sem_Nome:
Conta c1 = new Conta();
1 2 3 4

1: Tipo do objeto. No caso, ela indica que a variavel declarada pode fazer referencia a qualquer tipo de conta (ou seja, a qualquer objeto de tipo Conta e suas subclasses). Exemplo:

Conta.java

public class Conta {
//codigo
}

ContaCorrente.java

public class ContaCorrente extends Conta{
//codigo
}

public static void main(String args[]){ Conta conta = new Conta(); Conta conta2 = new ContaCorrente(); }

Ambos funcionam já que ContaCorrente é uma Conta (herda de Conta).

2: É o nome da variável.

3: O operador new seve para chamar um construtor.

4: O construtor a ser chamado.

Se não entendeu, poste aqui que eu vou tentar explicar de forma diferente.

Então é como se fosse a Classe que vai ser usada certo?! Mas qunado coloca o Conta(), ele não cria na classe Conta() já? Pra que declarar a classe que vai ser usada duas vezes?

domzinhuu

Sou iniciante e tenho uma duvida muito inciante tb.

Quando vamos declarar uma variavel para um objeto se faz assim por exemplo:

Conta c1 = new Conta();

O que não entendo aqui é o primeiro Conta. fica no lugar dos tipos… c1 é a variavel que faz referencia ao objeto criado. Mas e essa conta? é o tipo da variavel? mas porque conta? Sei que é meio maluca a pergunta… kk mais estou me perguntando isso faz tempo!

Bom amigo é padrao neh… porem isso é opcional… vc pode declarar… tanto:

c1 = new Conta();

quanto

Conta c1 = new Conta();

Costume popular do java nos faz usar o segundo tipo… ou vc segue o jeito que a empresa q te contratar mandar fazer…

S

gabriel04:

Então é como se fosse a Classe que vai ser usada certo?! Mas qunado coloca o Conta(), ele não cria na classe Conta() já? Pra que declarar a classe que vai ser usada duas vezes?

A primeira é o tipo de objeto. Imagine que a classe Conta seja abstrata (ou seja, você não pode instanciar, ou seja, não pode dar new Conta()). Agora imagine que as classes ContaCorrente e ContaPoupanca herdam de conta (ou seja, ContaCorrente extends Conta e ContaPoupanca extends Conta). Você pode fazer isso:

Conta c1 = new ContaCorrente();
Conta c2 = new ContaPoupanca();

Isso se chama polimorfismo. Você não “declara a classe”. Você declara o tipo dela.

Conta¹ c1 = new Conta()²;

¹: É o tipo de objeto que essa variável pode fazer referencia.
²: É o método construtor usado.

G

Entendi. Valeu galera. Ajudaram muitoo!

Criado 27 de abril de 2013
Ultima resposta 29 de abr. de 2013
Respostas 6
Participantes 4