スーパークラスからのコンストラクターの生成
今度は、単体ではなく継承クラスでのコード生成機能の利用例として、スーパークラスからのコンストラクターの生成機能を説明します。この機能はサブクラスの生成時に一括実行できます。また、生成後に設定を書き換えながら実行することもできます。今回は、サブクラスの生成時に一括実行してみましょう。
先ほど作成・編集した「HelloStaff」クラスからサブクラス「HelloEmp」を作成しますので、パッケージ・エクスプローラーで、パッケージ名[hello1]を右クリックして[新規(W)]-[クラス]を実行し、「新規Javaクラス」の設定ウィンドウを開きます。[名前]に「HelloEmp」と入力して[スーパークラス(S)]の[参照(E)]をクリックします。
「スーパークラスの選択」ウィンドウが表示されるので、[型を選択してください(C)]に「HelloStaff」とタイプします。[一致する項目(M)]にhello1パッケージのHelloStaffクラスが表示されますので、選択して[OK]をクリックします。
![図32:[型を選択してください]に入力して[一致する項目][OK]をクリック](http://cz-cdn.shoeisha.jp/static/images/article/3930/8-32s.gif)
「新規Javaクラス」ウィンドウに戻ります。[スーパークラス(S)]に「hello1.HelloStaff」が表示されているのを確認し、「どのメソッド・スタブを作成しますか」の[スーパークラスからのコンストラクター(C)]をチェックしてから[終了(F)]をクリックします。
エディタービューにクラス「HelloEmp」が表示されます。スーパークラスとコンストラクターが指定したとおりに定義されていることを確認します。
コンストラクターの内容は自動的にスーパーコンストラクターの呼び出しになります。

なお、サブクラスの生成時にスーパークラスからのコンストラクターの生成をせずに、サブクラスを生成してから[ソース(S)]-[スーパークラスからコンストラクターを生成(C)]を実行することもできます。こうすると、下図のとおり「スーパークラスからのコンストラクターの生成」ウィンドウが表示され、実装するコンストラクターの選択や、挿入ポイント、アクセス修飾子、コンストラクターコメントの作成などを細かく設定することができます。
全てのコンストラクターを生成済みの場合、「スーパークラスから追加できるコンストラクターはありません」と表示され、「スーパークラスからのコンストラクターの生成」ウィンドウは表示されません。

メソッドのオーバーライド
継承クラスでのコード生成機能のもう一つの利用例として、メソッドのオーバライド機能を説明します。今回は暗黙のスーパクラスであるObjectクラスから継承したtoString()メソッドを、オーバライドしてから編集してみましょう。
パッケージ・エクスプローラーで[HelloEmp.java]ファイルまたは[HelloEmp]クラスを選択して[ソース(S)]-[メソッドのオーバーライド/実装(V)]を実行します。
![図36:[ソース]-[メソッドのオーバーライド/実装]を実行](http://cz-cdn.shoeisha.jp/static/images/article/3930/8-36s.gif)
「メソッドをオーバーライド/実装」ウィンドウが表示されるので、「オーバライドまたは実装するメソッドを選択」でオーバライドしたいメソッドのチェックボックスをオンにします。今回は暗黙のスーパークラスであるObjectクラスのtoString()メソッドとします。チェックボックスを確認して[OK]をクリックします。
![図37:オーバライドしたいメソッドのチェックボックスをオンにして[OK]をクリック](http://cz-cdn.shoeisha.jp/static/images/article/3930/8-37s.gif)
エディタービューに戻ります。指定したとおり、オーバーライドのtoString()メソッドが定義されていることを確認します。

このままではオーバライドする意味がありませんので、Getterメソッドを用いるように編集します。「return super.toString();」を「return super.getName();」に書き換えます。
編集後のメソッドを後述のプルアップ機能の説明に用います。


![図31:[名前]に入力して[スーパークラス]の[参照]をクリック](http://cz-cdn.shoeisha.jp/static/images/article/3930/8-31s.gif)
![図33:[スーパークラスからのコンストラクター]をチェックして[終了]をクリック](http://cz-cdn.shoeisha.jp/static/images/article/3930/8-33s.gif)