JavaA2Z

KAB-studio > プログラミング > JavaA2Z > implementsとは

implements

日本語 実装
英語 implements
ふりがな いんぷりめんと、いんぷりめんつ
フリガナ インプリメント、インプリメンツ

解説

インターフェイス実装クラス宣言するための予約語
class クラス名 implements インターフェイス{ /** フィールドメソッド実装 */ }」と記述することで、「インターフェイス名」というインターフェイス実装クラスクラス名」クラス宣言される。
classでは継承extendsを使用するが、インターフェイスでは継承ではなく「実装」をい、implementsを使用する。
ただし、実装クラスそのものはクラスであることには変わりはない。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // ImplementedClassクラスを使用してみます。
        ImplementedClass implementedClass = new ImplementedClass();
        implementedClass.output();
        // ImplementedClass#output()

        // 実装クラスからインターフェイスへのアップキャストは
        // 可能です。その際、ポリモーフィズムが適用されるので
        // インターフェイスから実装クラスのメソッドを呼び出す
        // ことができます。
        Interface interfaceOfimplementedClass = implementedClass;
        interfaceOfimplementedClass.output();
        // ImplementedClass#output()

        // インターフェイスには実装がないため、インスタンスを
        // 作成できません。
        // interfaceOfimplementedClass = new Interface();
        // コンパイルエラー:
        // Interface のインスタンスを生成することができません。
    }
}

/**
*   Interfaceインターフェイスを宣言します。
*/
interface Interface
{
    /**
    *   実装用メソッドを用意します。
    */
    public void output();
    // 実装はありません。
    // もしinterfaceのメソッドに実装があると、
    // 以下のようなコンパイルエラーが
    // 発生します。
    // public void output2(){}
    // コンパイルエラー:
    // 抽象メソッドは本体を指定しません。
}

/**
*   Interfaceインターフェイスの実装クラスImplementedClassを宣言します。
*/
class ImplementedClass implements Interface
{
    /**
    *   インターフェイスのメソッドを実装します。
    *   方法はオーバーライドと同じ。
    *   同名、同引数、同戻り値のメソッドを作ってください。
    */
    public void output()
    {
        System.out.println( "ImplementedClass#output()" );
    }
    // インターフェイスを実装する場合には、すべてのメソッドを
    // 実装する必要があります。たとえば、output()メソッドを
    // 作り忘れると、以下のコンパイルエラーが発生します。
    // コンパイルエラー:
    // クラスは継承された抽象メソッド Interface.output() をインプリメントする必要があります。
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // ImplementedClassクラスを使用してみます。
        ImplementedClass implementedClass = new ImplementedClass();
        implementedClass.output();
        // ImplementedClass#output()

        // 実装クラスからインターフェイスへのアップキャストは
        // 可能です。その際、ポリモーフィズムが適用されるので
        // インターフェイスから実装クラスのメソッドを呼び出す
        // ことができます。
        Interface interfaceOfimplementedClass = implementedClass;
        interfaceOfimplementedClass.output();
        // ImplementedClass#output()

        // インターフェイスには実装がないため、インスタンスを
        // 作成できません。
        // interfaceOfimplementedClass = new Interface();
        // コンパイルエラー:
        // Interface のインスタンスを生成することができません。
    }
}

/**
*   Interfaceインターフェイスを宣言します。
*/
interface Interface
{
    /**
    *   実装用メソッドを用意します。
    */
    public void output();
    // 実装はありません。
    // もしinterfaceのメソッドに実装があると、
    // 以下のようなコンパイルエラーが
    // 発生します。
    // public void output2(){}
    // コンパイルエラー:
    // 抽象メソッドは本体を指定しません。
}

/**
*   Interfaceインターフェイスの実装クラスImplementedClassを宣言します。
*/
class ImplementedClass implements Interface
{
    /**
    *   インターフェイスのメソッドを実装します。
    *   方法はオーバーライドと同じ。
    *   同名、同引数、同戻り値のメソッドを作ってください。
    */
    public void output()
    {
        System.out.println( "ImplementedClass#output()" );
    }
    // インターフェイスを実装する場合には、すべてのメソッドを
    // 実装する必要があります。たとえば、output()メソッドを
    // 作り忘れると、以下のコンパイルエラーが発生します。
    // コンパイルエラー:
    // クラスは継承された抽象メソッド Interface.output() をインプリメントする必要があります。
}

この単語を含むページ

「みだし」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/03/15
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。