Javaのクラス名はパッケージ名によって修飾されますので、パッケージが異なれば同じクラス名であっても構いません。J2SEが提供するパッケージの中にも、同じ名前のクラスが存在します。その一例が、java.utilパッケージとjava.sqlパッケージの両方にあるDateクラスです。 この2つのパッケージを利用することが初めから分かっているプログラムで、java.utilパッケージのDateクラスを使う場合は、「java.util.Date」というように完全修飾で指定すれば、何も問題はありません。 Dateクラスが招きやすいトラブルの例 トラブルを招きやすいのは、java.utilパッケージのDateクラスを使っているプログラムに、SQL処理を追加するために、java.sqlパッケージのimportを追加した場合です。この場合、非常に分かりづらいエラーが表示されてしまいます。 非常に簡単な一例