extends と implements
extends と implements はクラスの継承を実現するためのキーワードです。
extends は新しいクラス定義のクラス名の後に現れます。
extends の直後の文字列は、ベースとなるクラス名と解釈されます。
新しいクラスは、この指定されたクラス(インターフェイスであってもよい)の
拡張クラスとして定義されます。
class で新しいクラスを定義する場合、
extends の後に指定できるクラス名は1つだけです。
interface で新しいインターフェイスを定義する場合、
extends の後に指定できるインターフェイス名は複数あってかまいません。
インターフェイス名の間は , で区切ります。
すべてのクラスは Object という共通の先祖のクラスを持っています。
extends が存在しない場合、先祖のクラスが存在しないという意味ではなく、
extends Objetct を省略したものとして扱われます。
implements も新しいクラス定義のクラス名の後に現れます。
implements の後の文字列は、組み込まれるインターフェイス名と解釈されます。
implements の後に指定できるのは、
インターフェイスとして定義されたものに限ります。
(通常のクラスを指定するとエラーになる)
implements の後に来るインターフェイス名は、複数あってもかまいません。
インターフェイス名の間は , で区切ります。
Java言語では、implements の機能を通じて多重継承を実現します。
継承を行うクラスの宣言の形式の例を以下に示します。
class NewClass extends OldClass implements Interface1,Interface2 {
}