Pular para conteúdo

Exercícios 02 - Fundamentos Java ☕

🟢 Fáceis

  1. Classe Simples: Crie uma classe Livro com atributos titulo e autor. Adicione um construtor.
  2. Tipos: Qual a diferença entre int e Integer? Dê um exemplo de quando usar cada um.

🟡 Médios

  1. Herança:
    • Crie uma classe Animal com método emitirSom().
    • Crie classes filhas Cachorro e Gato que sobrescrevem (override) esse método.
  2. Correção de Código: O código abaixo dá erro. Por que? Corrija.
    public class Teste {
        public void main(String[] args) {
            System.out.println("Oi");
        }
    }
    
    (Dica: Faltou uma palavra mágica no método).

🔴 Desafio

  1. Polimorfismo e Listas:
    • Crie uma ArrayList<Animal> (da questão 3).
    • Adicione um cachorro e um gato na lista.
    • Use um for para percorrer a lista e chamar emitirSom() de cada um.
    • Explique por que o Java sabe qual som emitir em tempo de execução.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Classe Simples **Resolução e Implementação:**
// Estrutura de implementação recomendada para Classe Simples
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Fundamentos de Java para Android ☕**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Tipos **Resposta Comentada:** - **Fundamentação:** No contexto de **Fundamentos de Java para Android ☕**, o conceito abordado (Tipos) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Herança **Resposta Comentada:** - **Fundamentação:** No contexto de **Fundamentos de Java para Android ☕**, o conceito abordado (Herança) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Correção de Código **Resolução e Implementação:**
// Estrutura de implementação recomendada para Correção de Código
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Fundamentos de Java para Android ☕**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Polimorfismo e Listas **Resposta Comentada:** - **Fundamentação:** No contexto de **Fundamentos de Java para Android ☕**, o conceito abordado (Polimorfismo e Listas) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.