Seção 1: Declarações, Inicialização e Definição de Escopo
* Desenvolver código que declare classes (inclusive classes abstratas e todas as formas de classes aninhadas), interfaces e enumerações e que inclua o uso apropriado de instruções de pacote e de importação (inclusive importações estáticas).
* Desenvolver código que declare uma interface. Desenvolver código que implemente ou estenda uma ou mais interfaces. Desenvolver código que declare uma classe abstrata. Desenvolver código que estenda uma classe abstrata.
* Desenvolver código que declare, inicialize e use primitivas, matrizes, enumerações e objetos como variáveis estáticas, locais e de instância. Além disso, usar identificadores legais para nomes de variáveis.
* Desenvolver código que declare métodos estáticos e não estáticos e, se for o caso, usar nomes de métodos que sigam os padrões de nomenclatura do JavaBeans. Além disso, desenvolver código que declare e use uma lista de argumentos de comprimento variável.
* Com base em um exemplo de código, determinar se um método está substituindo corretamente ou sobrecarregando outro método e identificar valores de retornos legais (inclusive retornos co-variantes) para o método.
* Com base em um conjunto de classes e superclasses, desenvolver construtores para uma ou mais dessas classes. Com base em uma declaração de classe, determinar se um construtor padrão será criado e, caso afirmativo, determinar o comportamento desse construtor. Com base em uma listagem de classes aninhadas ou não aninhadas, escrever código para criar uma instância da classe.
