wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Revisão AV2 - POO

Total questions: 39

Worksheet time: 21mins

Name
Class
Date
1.

Qual modificador de acesso em Java permite que membros (atributos ou métodos) sejam acessados por qualquer outra classe, em qualquer pacote?

a)

private

b)

protected

c)

public

d)

default

2.

O que o operador '==' faz quando usado com variáveis de tipos primitivos?

a)

Compara os valores armazenados nas variáveis.

b)

Verifica se os tipos das variáveis são os mesmos.

c)

Compara os endereços de memória das variáveis.

d)

Atribui o valor da direita para a variável da esquerda.

3.

Qual é a função da Máquina Virtual Java (JVM)?

a)

Compilar o código-fonte Java (.java) para bytecode (.class).

b)

Fornecer bibliotecas de tempo de execução (como java.util).

c)

Converter o bytecode (.class) em código de máquina específico da plataforma e executá-lo.

d)

Gerenciar o código-fonte e as dependências do projeto.

4.

O que é um 'objeto' no contexto da Programação Orientada a Objetos?

a)

Um modelo ou 'planta' para criar instâncias.

b)

Um tipo de dado primitivo, como 'int' ou 'boolean'.

c)

Uma instância de uma classe, com estado (atributos) e comportamento (métodos).

d)

Um sinônimo para um método dentro de uma classe.

5.

Qual é a palavra-chave usada para criar uma instância (objeto) de uma classe em Java?

a)

create

b)

instance

c)

class

d)

new

6.

Em uma classe Carro, 'cor' e 'velocidadeMaxima' seriam exemplos de quê?

a)

Métodos

b)

Atributos

c)

Pacotes

d)

Construtores

7.

Considere o código: Pessoa p1 = new Pessoa(); Pessoa p2 = p1; O que acontece se alterarmos um atributo de p1 (ex: p1.nome = "Samara")?

a)

p2 se tornará null.

b)

Nada acontece com p2, pois são objetos diferentes.

c)

O código resultará em um erro de compilação.

d)

A alteração será refletida em p2 (ou seja, p2.nome também será "Samara").

8.

Qual é a principal finalidade de um construtor em uma classe Java?

a)

Destruir o objeto e liberar memória quando ele não for mais usado.

b)

Definir os métodos que a classe implementará.

c)

Copiar um objeto existente para uma nova instância.

d)

Inicializar o estado (atributos) de um objeto quando ele é criado.

9.

O que acontece se você não definir explicitamente nenhum construtor em sua classe?

a)

O compilador Java fornece um construtor padrão (sem argumentos) automaticamente.

b)

A classe não poderá ser instanciada (não será possível usar new).

c)

Você deve chamar um método especial init() para inicializar o objeto.

d)

O programa resultará em um erro de compilação.

10.

O que é 'sobrecarga de construtor' (constructor overloading)?

a)

Definir vários construtores na mesma classe, mas com listas de parâmetros diferentes.

b)

Definir um construtor como private.

c)

Definir um construtor na superclasse e outro na subclasse.

d)

Criar um construtor que lança uma exceção.

11.

Se um atributo de uma classe é declarado como private, quem pode acessá-lo diretamente?

a)

Apenas os métodos (e construtores) dentro da própria classe.

b)

Qualquer classe, desde que importe a classe original.

c)

Apenas as subclasses dessa classe.

d)

Qualquer classe dentro do mesmo pacote.

12.

Qual é a visibilidade de um membro declarado com o modificador protected?

a)

Acessível por qualquer classe em qualquer pacote.

b)

Acessível apenas por classes no mesmo pacote.

c)


Acessível por classes no mesmo pacote e por subclasses (mesmo em pacotes diferentes).

d)

Acessível apenas dentro da própria classe.

13.

O que acontece se você não especificar nenhum modificador de acesso para um método ou atributo em uma classe?

a)

Ele se torna protected por padrão.

b)

Ele se torna default por padrão.

c)

Ele se torna public por padrão.

d)

Ele se torna private por padrão.

14.

Qual dos modificadores de acesso é o MAIS restritivo?

a)

default

b)

protected

c)

public

d)

private

15.

Qual é o principal objetivo do Encapsulamento na Programação Orientada a Objetos?

a)

Agrupar classes relacionadas em um mesmo diretório.

b)

Permitir que uma classe herde características de outra.

c)

Proteger os atributos do objeto contra acesso direto e manipulação indevida.

d)

Garantir que uma classe possa ser usada em vez de outra.

16.

Qual é a convenção Java padrão para implementar o encapsulamento de um atributo chamado nome?

a)

Declarar protected String nome; para que apenas subclasses possam usá-lo.

b)

Declarar private String nome; e não fornecer métodos para acessá-lo.

c)

Declarar public String nome;

d)

Declarar private String nome; e fornecer métodos publicos.

17.

Qual é uma vantagem chave de usar um método 'setter' (ex: setNota(double nota)) em vez de tornar o atributo nota público?

a)

O método 'setter' é mais rápido de executar do que o acesso direto.

b)

O método 'setter' só pode ser chamado uma vez.

c)

O método 'setter' permite adicionar lógica de validação.

d)

O método 'setter' é obrigatório para que o Coletor de Lixo funcione.

18.

Uma classe que declara todos os seus atributos como public está violando qual princípio da POO?

a)


Abstração

b)

Polimorfismo

c)

Encapsulamento

d)

Herança

19.

Qual é a principal finalidade dos pacotes (packages) em Java?

a)

Agrupar classes e interfaces relacionadas e evitar conflitos de nomes.

b)

Comprimir o código Java em arquivos .jar.

c)

Definir o nível de acesso (public, private, protected).

d)

Garantir que os atributos sejam sempre privados.

20.

Qual instrução Java é usada para utilizar uma classe de um pacote diferente sem ter que escrever o nome completo do pacote todas as vezes?

a)

include

b)

import

c)

using

d)

package

21.

Qual é a convenção de nomenclatura padrão para pacotes em Java?

a)

Nomes em CamelCase, como 'MinhaAplicacao'.

b)

Nomes em minúsculas separados por underscores, como 'minha_aplicacao'.

c)

Nomes em maiúsculas, como 'MINHAAPLICACAO'.

d)

Nomes em minúsculas, baseados no nome de domínio reverso.

22.

Onde deve estar localizada a declaração package em um arquivo de código-fonte Java?

a)

Imediatamente após as declarações import.

b)

Dentro da declaração da classe, antes dos atributos.

c)

Em qualquer lugar antes da declaração da classe.

d)

Como a primeira linha não comentada do arquivo.

23.

Qual é a finalidade principal do bloco try-catch em Java?

a)

Validar a entrada do usuário para garantir que está correta.

b)

Executar um código que pode falhar e capturar e lidar com a exceção se ela ocorrer.

c)

Garantir que um recurso (como um arquivo) seja sempre fechado, ocorrendo um erro ou não.

d)

Declarar que um método pode lançar um erro, mas não o tratará.

24.

Para que serve o bloco finally?

a)

É executado apenas se uma exceção for capturada no bloco catch.

b)

É executado apenas se o bloco try for concluído sem erros.

c)

É executado sempre ao final do bloco try e usado para 'limpeza' de recursos.

d)

Para lançar uma nova exceção.

25.

O que acontece quando o modificador final é aplicado a uma classe?

a)

Todos os métodos da classe se tornam static automaticamente.

b)

A classe não pode ser instanciada (não pode usar new).

c)

Todos os atributos da classe devem ser inicializados no construtor.

d)

A classe não pode ser herdada (ninguém pode dar extends nela).

26.

O que acontece quando o modificador final é aplicado a um método?

a)

O método não pode ser chamado.

b)

O método não pode ser sobrescrito por subclasses.

c)

O método se torna private automaticamente.

d)

O método só pode ser chamado uma vez.

27.

O que acontece quando o modificador final é aplicado a uma variável (atributo)?

a)

A variável não pode ser acessada por subclasses.

b)

O valor da variável só pode ser atribuído uma única vez (ela se torna uma constante).

c)

A variável é automaticamente excluída pelo Coletor de Lixo.

d)

A variável se torna global e acessível por todas as classes.

28.

Qual é a principal finalidade da Herança na POO?

a)

Permitir que um objeto exista independentemente de outro.

b)

Permitir que uma classe reutilize atributos e métodos de outra classe.

c)

Ocultar os detalhes de implementação de uma classe.

d)

Garantir que um objeto seja composto por outros objetos.

29.

Qual é a palavra-chave Java usada para fazer uma classe herdar de outra?

a)

super

b)

extends

c)

implements

d)

inherits

30.

O que é 'sobrescrita de método'?

a)

Chamar um método da superclasse usando a palavra-chave super.

b)

Criar vários métodos com o mesmo nome, mas parâmetros diferentes, na mesma classe.

c)

Definir um método na subclasse com a mesma assinatura (nome, parâmetros e tipo de retorno) de um método na superclasse.

d)

Tornar um método private para que ele não possa ser acessado.

31.

Java suporta 'herança múltipla' de classes? Por exemplo, class C extends A, B?

a)

Não, a menos que você use a palavra-chave implements em vez de extends.

b)

Sim, mas apenas se A e B forem classes abstratas.

c)

Sim, desde que as classes A e B estejam no mesmo pacote.

d)

Não, Java não suporta herança múltipla de classes para evitar o 'problema do diamante'.

32.

Qual é a classe raiz (superclasse) da qual todas as outras classes em Java herdam implicitamente?

a)

Object

b)

System

c)

Class

d)

Main

33.

Como Agregação e Composição são tipicamente implementadas em código Java?

a)

Tendo um atributo que é uma referência a outro objeto.

b)

Usando métodos static.

c)

Através da palavra-chave extends.

d)

Declarando uma classe dentro de outra (Inner Class).

34.

O que significa declarar um atributo (variável) como static?

a)

Que o valor do atributo não pode ser modificado após a inicialização.

b)

Que o atributo só pode ser acessado por métodos da própria classe.

c)

Que o atributo será inicializado automaticamente pelo construtor.

d)

Que o atributo pertence à classe, e não a cada instância (objeto) individualmente.

35.

Qual é a forma correta de acessar um membro public static (ex: int contador) de uma classe Item a partir de outra classe?

a)

Item item = new Item(); item.contador;

b)

this.contador;

c)

Item.contador;

d)

Não é possível acessar, pois static o torna privado.

36.

O que é uma Interface em Java?

a)

Um tipo de referência, similar a uma classe, que é uma coleção de métodos abstratos.

b)

Uma classe que não pode ser instanciada e serve apenas para ser herdada.

c)

Um arquivo usado para configurar a aparência visual de uma aplicação.

d)

Um método especial usado para inicializar objetos.

37.

Qual palavra-chave uma classe usa para 'assinar o contrato' de uma interface?

a)

inherits

b)

implements

c)

extends

d)

abstract

38.

Qual é a definição correta de uma Classe Abstrata?

a)

Qualquer classe que implementa uma interface.

b)

Uma classe que só pode conter métodos abstratos.

c)

Uma classe que não pode ser instanciada diretamente.

d)

Uma classe que não tem construtor.

39.

Se uma classe MinhaClasse herda de uma classe abstrata Forma que contém um método abstrato desenhar(), o que MinhaClasse deve fazer?

a)

Declarar o método desenhar() como static.

b)

Chamar super.desenhar() dentro do seu construtor.

c)

Ignorar o método, pois ele já foi definido na superclasse.

d)

Fornecer uma implementação para o método desenhar().