SóProvas


ID
645436
Banca
AOCP
Órgão
BRDE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Sobre a criação de objetos na linguagem de programação Java, analise as assertivas e assinale a alternativa que aponta a(s) correta(s).

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.

Alternativas
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/716