Dúvida para Instanciar Classes

Olá Pessoal!

Como bom iniciante, estou cheio de dúvidas… :frowning:

Mas vamos lá…

Alguém pode me ajudar, me explicando este lance de Instânciar classe?!

Tipo:

Cachoro animal = new cachorro();

Um abraço!

Tente entender com essa comparação:

Imagine uma fôrma de fazer biscoito. E o biscoito em si.

A fôrma representa a classe e os biscoitos repressentam o objeto.

Com uma fôrma você faz uma série de biscoitos.
Com uma classe você instancia uma série de objetos.

Biscoito umBiscoito = new Biscoito(); Biscoito outroBiscoito = new Biscoito();

Instanciar então significa criar um novo objeto de um determinado tipo.

Então neste caso o Objeto é o umBiscoite e o outrobiscoito, certo?

E o new Biscoito quer dizer que estes Objetos pertencem a Classe Biscoito?

Biscoito umBiscoito = new Biscoito();
Biscoito outroBiscoito = new Biscoito();

Fala Oliverrj

não é que os objetos ‘umBiscoito’ e ‘outroBiscoito’ pertençam à classe Biscoito.
O certo de entender é que elas são do mesmo tipo, ou seja, vieram do mesmo molde (Biscoito), ou ainda, contêm a mesma assinatura.

então, seguindo a mesma analogia:

int numero;;
String nome;
Biscoito maisUmBiscoito = new Biscoito()

significa q: ‘numero’ é um objeto do tipo inteiro (int), ‘nome’ é um objeto do tipo texto (String) e ‘maisUmBiscoito’ é um objeto do tipo Biscoito.

Blz?
[]'s

Objeto nada mais é do que um espaço na memoria de sua Classe.

Quando voce usa:

Pessoa p1 = new Pessoa();

Esse codigo acima esta fazendo nada mais nada menos do que referenciar uma classe. O Objeto é a Pessoa, esse é o Objeto. O p1 é uma referencia para esse Objeto.

Mas black, referencia para onde? Simples, para memoria. Sempre quando usamos a palavra new, é criado o Objeto e esse Objeto vai para a memoria do computador. Mas como assim, entao nois criamos outra classe?

Nao, na verdade o que criamos foi uma copia dos metodos e atributos dessa classe. Criando um objeto poderiamos usar os metodos e variaveis dessa classe Pessoa a partir de outra classe.

Uma otima apostila que fez eu entender isso foi a apostila do Caelum, baixe-a cara…

Abraços

Certo, os dois sao objetos diferentes, embora ambos do mesmo tipo.

Quase isso. o “new Biscoito” quer dizer que voce esta criando um novo objeto do tipo Biscoito. Como o berg.pb explicou, vc esta criando objetos a partir de um “molde”.