});Eclipseを用いて、パッケージ内に次々とクラスを作成して行く場合、間違って同じ名前のクラスを定義しないように、パッケージ・エクスプローラーに表示されるソースファイル名を確認しながら進めると便利です。パッケージ・エクスプローラーに表示されていないクラス名にも関わらず、定義すると「すでに定義されています」というエラーが表示される場合があります。一覧になかったMasterPlanクラスを定義したらエラーが表示されたこのエラーの意味は、「定義済み」のクラスを見過ごして、同じ名前のクラスを同じパッケージに作成したということです。Javaではパッケージが異なる場合や、インナークラスや匿名クラスである場合を除いて、同じクラス名の存在は認められません。そこで、Eclipseではクラスの作成時にチェックをしてくれるわけです。1つのソースファイルに複数のクラスを定義しているときに起こるどうして「定義済み」クラスを見過ごしてしまいやすいかというと、Javaでは1つのソースファイルに複数のクラスを定義できるからです。よって、Eclipseを用いてパッケージ内に次々とクラスを作成して行く場合は、パッケージ・エクスプローラーに表示されるソースファイル名を開いて、クラス名を確認しながら進めると良いでしょう。この場合、下図で見てのとおり、SalesPlan.javaファイルに、MasterPlanクラスが定義済みだったことがわかります。「定義済みです」と表示されたときは、残念ながら、どこに定義済みかは教えてもらえません。このとき、Eclipseのメニューにある[検索(A)]を用いると便利です。検索機能により、MasterPlanクラスがある2つのファイルがわかるなお、この現象は、Eclipseにおけるプロジェクトの作成時に、他の人が作成した外部ソースからプロジェクトを作成した場合や、Eclipse以外で作成済みのソースを「ファイルシステムからのインポート」機能で読み込んだ場合に起こることがあります。外部から取り込んだソースから順にチェックすると良いでしょう。実は、Eclipseを用いずにエディタとjavacコマンドで複数のソースファイルを作成・コンパイルしている場合、上記のようなミスをしても気が付きません。定義済みであった場合も、無条件に上書きされてしまうのです。この状態が見過ごされていることは、最悪の場合、再構築時などに大きなトラブルを起こしかねませんので、非常に危険です。Eclipseを活用するなどして、チェックしておきましょう。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。