Pergunta

A diretiva import inclui apenas as classes que serão utilizadas no programa ou todas as classes independente das utilizadas?

Resposta

Ao escrevermos um import no inicio do programa podemos usar duas formas:

import java.awt.Button; // importa *apenas* a classe especificada
                        // do pacote
import java.awt.*;      // importa todas as classes *necessárias*
                        // do pacote

Perceba que este esquema (segunda forma) )é muito versátil pois não se torna necessário indicar classe por classe quais serão utilizadas, apesar de isto é possível (primeira forma).

O import serve para avisar ao compilador quais classes serão necessárias, ou seja, funciona apenas como uma referência.

As classes não são incluídas nas classes geradas pela compilação, ou seja, não são embutidas no seu código mas apenas referenciadas. Por isso precisamos ter o Java instalado (JDK - Java Developers Kit -, JRE - Java Runtime Environment - ou um plug-in para o browser) para que o programa ou applet possa funcionar.