では、そのTest4クラスの定義部分を見てみましょう。まず最初にpublic Test4 ()というメソッドからです。これは「このクラスを定義するものだ」といいましたね。要するに、このTest4クラスを利用する時に、具体的に「これこれこういう処理を実行してウィンドウを作るんですよ」ということを書いてあるもの、ってわけです。つまり「
初期化」のためのメソッドと考えればいいでしょう。
この初期化用のメソッドは、「
コンストラクタ」と呼ばれます。コンストラクタは、必ずクラス名と同じ名前のメソッドとして用意する決まりになってます。
また、「
void」みたいなもの(返り値の型の指定)がついてませんね? これも初期化用メソッドの特徴です。まあ、細かいことはおいといて、「そういう形でメソッドを用意してやるんだ」ということだけ覚えておきましょう。
では、このコンストラクタではどんなことをやってるでしょうか。ウィンドウを実際に定義するのですからさぞかし大変だろう――と思ったら、書いてあるのはたったの1行、
super ();
これだけです。何でしょうね、これは?
これは、「継承している
親に処理を渡す」という働きをするものです。処理をわたすとどうなるか。ここでは、
Frameという、ウィンドウを定義したクラスを継承していますね。ということは、
Frameクラスに処理を渡すということになります。
Frameクラスには、当然
Frameクラスのウィンドウを定義するメソッドが用意されている(はずですよね?)。ということは、処理を渡すと、
Frameクラスの定義部分がそのまま実行されるわけです。ということは? そう、なんだかわかんないけど、ウィンドウの定義は
Frameクラスが勝手にやってくれちゃうわけです!
これは実にありがたい機能ですから、しっかりと覚えておきましょう。 ――さあ、これで、あっという間にウィンドウを使ったクラスの定義ができてしまいました。