1.定義
- 定義をインタフェース:抽象メソッドと定数値の集合です。基本的に、インターフェースは抽象クラスの特別な種類です。
- インタフェースフォーマット:
[public] interface interfacename [extends SuperInterfaceList]{//可继承多个接口
[public static final] int i = 20;
[public abstract] void f();
...... //常量定义和方法定义
}
- インタフェースは、最終的なパブリック静的である必要があり、[属性]で定義された
メソッドが抽象パブリックである必要があり、省略することができます - インタフェースインタフェースの継承
達成するために2、
クラスは、インターフェイスを実装することができます方法はオーバーライドすることがあり、オーバーライドは、パブリックコメントを追加する必要があります
interface It{
int i = 20;
void f();
}
abstract class A implements It{ //把接口中的成员包含到类A中
public void f(){//重写必须加public
System.out.printf("i = %d\n",i);
}
}
継承は、たとえば、インターフェイスを実装プットの後ろに、目の前に置きます:
class T extends A implements It4,It3{
}
3、初期値問題
class A{
int i;
public void show(){
System.out.printf("show-> %d\n",i); //i是属性i,此时的i等价于this.i
}
public void f(){
int i; //这里的i和属性i没有冲突
System.out.printf("f-> %d\n",i); //error 因为i是局部变量,使用时必须初始化
}
public void g(int i){ //i是形参i,形参i也是局部变量
this .i = i;
System.out.printf("g-> %d\n",i);
}
}
4、多型
interface It{
void f();
}
class A implements It{
public void f(){
System.out.printf("AAAA\n");
}
}
class D{
public static void main(String[] args) {
It it;
it = new A();
it.f();//输出:AAAA
it.g();//error
}
}
- インターフェース(抽象)は、あなたが実装インタフェースが(というオブジェクトを定義することができます
new A()
)、インタフェースへの参照をオブジェクトのアドレスを送信し、あなたは(のインタフェースを参照して、この実際のオブジェクト・インターフェース・ポイントを呼び出すことができますA
でそれらのメンバー)。 - あなただけのサブクラスを(呼び出すことができるインタフェース参照することによって
A
、親クラス(から)It
(メンバーにわたり継承)f()
)、(サブクラス特異的に呼び出すことはできませんg()
)。
図5に示すように、インターフェースとしての機能が
- インターフェイスは、行動の同種では関係ありません達成することができます
Javaのすべてのクラスの自己複製機能を実装してはならない行うことができます必要がありますようjava.lang.Colneable
ちょうど旗の役割を果たしていると、何も、インターフェースが、このインタフェースは空です。 - インタフェースは、異なるオブジェクトのコラボレーションのためのプラットフォームを提供し
、このようなイベント処理として、 - インターフェイスは多重継承を実現することができ、クラスでは唯一、ある程度から継承された単一の欠陥を作ることができます。
- インターフェイスは、クラスへの重要な方法の機能を理解することを可能にします。
以下のような:Javaのコンテナ全体のフレームは、インタフェースを経由して構築され、インタフェースの実装クラス異なるが、異なる機能を実行され、インターフェイスは、我々は重要な方法の機能を理解することがクラスです。