[AOCP 2012 BRDE – Analista de Sistemas – Desenvolvimento de Sistemas – Prova TIPO 4] Sobre a criação de objetos na linguagem de programação Java, analise as assertivas.

[I] Nesta linguagem de programação, a criação de objetos é gerenciada por um algoritmo de escalonamento, onde característica como prioridade, acesso a recurso, threads são considerados.

[II] Objetos são criados por expressões contendo a palavra-chave new. Criar um objeto a partir de uma definição de classe é também conhecido como instanciação; assim, objetos são muitas vezes chamados de instâncias.

[III] Referências a objetos são null quando elas não referenciam algum objeto.

[IV] Objetos recentemente criados são colocados em uma área de memória do sistema conhecido como heap. Todos os objetos são acessados via referências a objetos – qualquer variável que possa aparentar um objeto, na realidade, contém uma referência àquele objeto.

Assinale a alternativa que aponta a(s) correta(s).

[A] Apenas I.

[B] Apenas I, II e III.

[C] Apenas I, III e IV.

[D] Apenas II, III e IV.

[E] I, II, III e IV.

Comentários

Gabarito: letra D.

[I] Nesta linguagem de programação, a criação de objetos é gerenciada por um algoritmo de escalonamento, onde característica como prioridade, acesso a recurso, threads são considerados.

Gabarito: ERRADO.

A criação de objetos não tem nada a ver com escalonamento.

Veja o seguinte código:

Classe variavelObjeto = new Classe();

Quando é feito isso, é reservado uma porção da memória principal do Java (stack) para armazenar o endereço na memória auxiliar (heap) onde o objeto será armazenado. A variavelObjeto conterá o endereço do objeto recém-criado e armazenado na memória auxiliar.

Não há o que se falar em escalonamento. Esse termo é relacionado apenas ao gerenciamento de threads.

[II] Objetos são criados por expressões contendo a palavra-chave new. Criar um objeto a partir de uma definição de classe é também conhecido como instanciação; assim, objetos são muitas vezes chamados de instâncias.

Gabarito: CERTO.

Usando o exemplo do comentário anterior, o operador new realiza três tarefas:

  1. Aloca memória para o novo objeto (new Classe());
  2. Chama um método especial de inicialização da classe chamado construtor;
  3. Retorna a referência para o novo objeto, referência essa armazenada na variavelObjeto.

[III] Referências a objetos são null quando elas não referenciam algum objeto.

Gabarito: CERTO.

Só uma observação: vejam o código abaixo:

Classe varivalObjeto;

Percebam que a variavalObjeto é um referência que não está apontando para nada, ou seja, null. Com isso, não posso utilizar nada de um objeto que instância da Classe, como por exemplo, variavelObjeto.metodo();. Ora, se tenho uma referência para nada, como vou chamar um metódo da Classe se não há nenhum objeto referenciado?

[IV] Objetos recentemente criados são colocados em uma área de memória do sistema conhecido como heap. Todos os objetos são acessados via referências a objetos – qualquer variável que possa aparentar um objeto, na realidade, contém uma referência àquele objeto.

Gabarito: CERTO.

Com o que vimos nos comentários acima, matamos o item IV de boa na lagoa! =D

Referência:
[1] Orientação a objetos – Parte II: http://www.devmedia.com.br/orientacao-a-objetos-parte-ii/7161

Gatos são animais de estimação do Kapiroto!

Morre, gato do cão!!!

Morre, gato do cão!!!

 

Ei! Ei! Eeeeeeeeeeeeeeei, fela da mãe!

Ei! Ei! Eeeeeeeeeeeeeeei, fela da mãe!

[]s e até a próxima!

_________________________
Sou eu!!!Rogério Araújo

Blog: https://rogerioaraujo.wordpress.com/
Gmail: rgildoaraujo@gmail.com
Twitter: http://twitter.com/rgildoaraujo
LinkedIn: http://br.linkedin.com/in/rgildoaraujo
Grupo de estudo no TIMasters 2.0: http://timasters.ning.com/group/dev