#navi(開発メモ/Java/基礎);
*インターフェイス [#e7e181ef]
インターフェイスはクラスの形式を定義する定数と、メソッドの宣言の集まり。~

''インターフェイスの書き方''
#codeprettify{{
intfModeifier(省略可) interface intfName{
varModfier1 type1 varName1 = value1;
varModfier2 type2 varName2 = value2;
varModfier3 type3 varName3 = value3;
・
・
・
varModfierN typeN varNameN = valueN;
mthModfier1 rtype1 mthName1(param1);
mthModfier2 rtype2 mthName2(param2);
mthModfier3 rtype3 mthName3(param3);
・
・
・
mthModfierN rtypeN mthNameN(paramN);
}
}}

|intfModifier|インターフェイスのアクセス権を規定する修飾子。省略可能|
|intfName|インターフェースの名前の宣言|
|varName|変数を宣言し、定数を入れます。&br;修飾子を指定することも可能(省略可能)&br;指定しないときは public static finalとして扱われる|
|mthName|組み込むメソッドを宣言します。&br;修飾子を指定することも可能(省略可能)&br;指定しないときは public abstractとして扱われる&br;戻り値はrtypeで、引数はparamです。paramは省略可能|

クラスは1つまたは複数のインターフェイスを実装できます。

''インターフェイスの宣言書式''
#codeprettify{{
clsModfiers class clsName extends superName implements intfList{
}
}}

|clsModifiers|クラス修飾子。省略可能です。|
|clsName|クラス名です。|
|extends superName|クラスを継承(拡張)するときのみにつけます。|
|implements infList|実装するインターフェイスを定義します。&br;infListのところにコンマ区切りでインターフェイスの名前を定義します。|

インターフェイスは継承もできます。~
extendsを使用しますが、インターフェースの場合、スーパーインターフェイスを複数宣言可能です。~

#codeprettify{{
interface J{
    int j = 200;
    int j1();
}

interface K{
    double k1();
}

interface L extends J,K{
    boolean l1();
}

class I implements L{
    public int j1(){
        return 4;
    }

    public double k1(){
        return 6.8;
    }

    public boolean l1(){
        return true;
    }
}

class interfaceInferitance{
    public static void main(String args[]){
        I i = new I();
        System.out.println(i.j);
        System.out.println(i.j1());
        System.out.println(i.k1());
        System.out.println(i.l1());
    }
}
}}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS