Programação Orientada a Objetos
- Classes e Objetos
- Organização de Código: Pacotes e a Diretiva import
- Encapsulamento e Modificadores de Acesso
- Membros Estáticos: O Modificador static
- Objetos como Parâmetros
- Classes Internas e Aninhadas
- Herança
- Classes Abstratas
- Hierarquia, Herança e Conversão de Tipos
- Interfaces
- Interfaces e Callbacks
- Enum
- Classe Object e seus métodos
- Generics
- Restrições de Generics
- Herança de Generics
- Type Erasure (Remoção de Tipos Genéricos)
- Wildcards: Uso de Tipos Coringa em Genéricos
- Tipos por Referência e Cópia de Objetos
- Records
- Arquivos compactos e método main
- Controle de Hierarquias com Classes e Interfaces sealed
- Pattern Matching para Tipos
- Pattern Matching com Records