CodeGym
Promoção
Aprendizagem
Cursos
Tarefas
Pesquisas & Questionários
Jogos
Ajuda
Cronograma
Comunidade
Usuários
Fórum
Chat
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro

Aulas

  • Avaliações
  • Sobre nós
Iniciar
Comece a aprender
Comece a aprender agora
  • Meu progresso
  • Cursos
  • Mapa da Missão
  • Aulas
  • Conceito de herança, sintaxe de extends

    JAVA 25 SELF
    Nível 17,Aula 0
    Nesta aula, vamos entender o que é herança em Java, como usá-la para evitar duplicação de código e como declarar hierarquias usando a palavra‑chave extends. Veremos o que exatamente uma subclasse herda, quais são as limitações (herança simples, membros privados, construtores), analisaremos um exemplo prático com animais, nuances envolvendo construtores e erros típicos.
    Disponível
  • Sobrescrita de métodos (override), anotação @Override

    JAVA 25 SELF
    Nível 17,Aula 1
    Nesta aula, analisamos a sobrescrita de métodos em Java: como e por que uma subclasse substitui o comportamento do pai, qual o benefício da anotação @Override, como o polimorfismo funciona ao chamar por uma referência do tipo base, além das regras principais (assinatura, modificadores de acesso, exceções, covariância) e das restrições ( static, final, private). Encerramos com prática em um mini‑projeto “Zoológico” e a análise de erros típicos.
    Disponível
  • Uso de super: chamada do construtor e dos métodos da classe base

    JAVA 25 SELF
    Nível 17,Aula 2
    Analisamos a palavra‑chave super em Java: como chamar métodos e construtores da classe base, como acessar campos ocultos do pai, quando e por que estender o comportamento via super e super(...), bem como as limitações (não pode ser usado em métodos estáticos, sem acesso a private) e erros comuns. Muitos exemplos práticos nas hierarquias Animal/ Cat/ Dog e Vehicle/ Car.
    Disponível
  • Criação de hierarquias de classes, exemplos do mundo real

    JAVA 25 SELF
    Nível 17,Aula 3
    Vamos aprender a projetar e implementar hierarquias de classes em Java: como separar o geral do específico, estruturar a árvore de herança, onde a relação is-a é apropriada e quando é melhor usar composição ( has-a). Veremos exemplos vivos (animais, geometria, transporte, usuários), sutilezas de arquitetura e erros comuns de projeto.
    Disponível
  • Problemas e limitações da herança

    JAVA 25 SELF
    Nível 17,Aula 4
    Nesta aula discutimos os limites do modelo de herança em Java: herança simples de classes, ausência de herança de construtores e indisponibilidade de membros private. Vamos analisar hierarquias “frágeis” e o efeito da herança “quebrável”, mostrar alternativas — composição ( has-a), delegação e interfaces — e também critérios de “quando realmente usar extends”. No caminho, destacaremos a chamada do construtor da superclasse via super(...) e erros típicos de projeto.
    Disponível
  • O conceito de polimorfismo: por que ele é necessário

    JAVA 25 SELF
    Nível 18,Aula 0
    Nesta aula, exploramos o polimorfismo em Java: o que é, qual a diferença entre overloading e overriding, como funciona a vinculação tardia e por que uma interface pode ter várias implementações. Em exemplos práticos, veremos como o polimorfismo simplifica a arquitetura, torna o código extensível e reduz o acoplamento entre módulos.
    Disponível
  • Sobrecarga de métodos (overloading)

    JAVA 25 SELF
    Nível 18,Aula 1
    Mergulhando na sobrecarga de métodos em Java: quando faz sentido declarar várias versões do mesmo método, como o compilador escolhe a melhor correspondência pelos parâmetros, por que não é possível sobrecarregar apenas pelo tipo de retorno e como funcionam construtores sobrecarregados e ... varargs. Vamos analisar exemplos com println, criar um pequeno Calculator e passar pelos erros típicos relacionados a conversões automáticas e à ambiguidade entre Integer/ Long.
    Disponível
  • Sobrescrita de métodos (overriding): diferença em relação à sobrecarga

    JAVA 25 SELF
    Nível 18,Aula 2
    Analisamos em detalhes a sobrescrita de métodos em Java: como o overriding fornece polimorfismo em tempo de execução, em que difere de overloading, quais regras se aplicam (assinaturas, acesso, exceções, covariância), como usar @Override e chamar a lógica da classe pai via super. Mostraremos exemplos práticos e analisaremos erros típicos.
    Disponível
  • Uso do polimorfismo na prática

    JAVA 25 SELF
    Nível 18,Aula 3
    Mostramos o polimorfismo em exemplos reais: como armazenar objetos heterogêneos em uma única coleção do tipo base e chamar os métodos “corretos” sem if/ switch, como a adição de uma nova subclasse não exige reescrever a lógica e quais são as limitações da abordagem. Vamos construir uma hierarquia de funcionários com o método work(), falar sobre extensibilidade e analisar erros típicos.
    Disponível
  • Relação entre polimorfismo e classes abstratas

    JAVA 25 SELF
    Nível 18,Aula 4
    Como classes e métodos abstratos formam um contrato comum e possibilitam o polimorfismo em Java: por que não se pode criar um objeto abstrato, como as subclasses implementam os métodos obrigatórios, como trabalhar via o tipo base e ainda assim obter o comportamento “correto”. Veremos exemplos com animais e com a hierarquia de funcionários, nuances de sintaxe e erros típicos.
    Disponível
  • Abstração em POO: por que e como aplicar

    JAVA 25 SELF
    Nível 19,Aula 0
    Uma introdução clara à abstração em POO em Java: o que é, por que é necessária e como aplicá-la no projeto. Vamos analisar as ferramentas da linguagem – classes abstratas abstract class e interfaces interface, métodos abstratos e o trabalho por meio de um contrato comum (por exemplo, chamadas como payment.process() ou draw()). Com exemplos práticos ( Shape, Payment, Transport) mostraremos como ocultar detalhes de implementação, reduzir o acoplamento e facilitar a extensão do sistema.
    Disponível
  • Classes e métodos abstratos: sintaxe e exemplos

    JAVA 25 SELF
    Nível 19,Aula 1
    Nesta aula, analisamos passo a passo classes e métodos abstratos em Java: quando usar abstract, como declarar uma class abstrata, qual a diferença em relação a interface e como implementar os métodos obrigatórios (por exemplo, makeSound()) nas subclasses. Vamos acompanhar a teoria com exemplos práticos ( Animal, Transport, Shape) e discutir erros típicos: desde tentar criar uma instância de uma classe abstrata até o uso incorreto de modificadores.
    Disponível
  • 1
  • ...
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...
  • 30
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Projetos de jogos
  • Sintaxe Java
Comunidade
  • Usuários
  • Artigos
  • Fórum
  • Chat
  • Histórias de sucesso
  • Atividade
  • Programa de afiliados
Empresa
  • Sobre nós
  • Contatos
  • Avaliações
  • Sala de imprensa
  • CodeGym for EDU
  • Perguntas frequentes
  • Suporte
CodeGymCodeGym é um curso online para aprender programação Java do zero. Este curso é uma maneira perfeita de dominar Java para iniciantes. Contém mais de 1.200 tarefas com verificação instantânea e um escopo essencial da teoria dos fundamentos de Java. Para ajudar você a ter sucesso nos estudos, implementamos um conjunto de recursos motivacionais: questionários, projetos de programação, conteúdo sobre aprendizagem eficiente e carreira de desenvolvedor Java.
Siga-nos
Idioma da interface
English Deutsch Español हिन्दी Français
Português
Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programadores se formam, não nascem" © 2026 CodeGym
MastercardVisa
"Programadores se formam, não nascem" © 2026 CodeGym