Javaインターフェイスキーワード
例
Aninterface
は、関連するメソッドを「空の」本体でグループ化するために使用される抽象「クラス」です。
implements
インターフェイスメソッドにアクセスするには、インターフェイスを(の代わりに)キーワードを使用して別のクラスで「実装」(継承のようなもの)する必要がありますextends
。インターフェイスメソッドの本体は、「implement」クラスによって提供されます。
// interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void sleep(); // interface method (does not have a body)
}
// Pig "implements" the Animal interface
class Pig implements Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
public void sleep() {
// The body of sleep() is provided here
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
定義と使用法
キーワードは、interface
抽象メソッドのみを含む特別なタイプのクラスを宣言するために使用されます。
implements
インターフェイスメソッドにアクセスするには、インターフェイスを(の代わりに)キーワードを使用して別のクラスで「実装」(継承のようなもの)する必要がありますextends
。インターフェイスメソッドの本体は、「implement」クラスによって提供されます。
インターフェースに関する注記:
- オブジェクトの作成には使用できません(上記の例では、MyMainClassに「Animal」オブジェクトを作成することはできません)
- インターフェイスメソッドには本体がありません-本体は「implement」クラスによって提供されます
- インターフェイスの実装では、そのすべてのメソッドをオーバーライドする必要があります
- インターフェイスメソッドはデフォルト
abstract
であり、public
- インターフェイス属性はデフォルト
public
で、static
およびfinal
- インターフェイスにコンストラクターを含めることはできません(オブジェクトの作成には使用できないため)
インターフェースを使用する理由と時期
セキュリティを実現するには-特定の詳細を非表示にし、オブジェクト(インターフェイス)の重要な詳細のみを表示します。
Javaは「多重継承」をサポートしていません(クラスは1つのスーパークラスからのみ継承できます)。ただし、クラスは複数のインターフェース を実装できるため、インターフェースを使用して実現できます。注:複数のインターフェースを実装するには、それらをコンマで区切ります(以下の例を参照)。
複数のインターフェース
複数のインターフェースを実装するには、それらをコンマで区切ります。
例
interface FirstInterface {
public void myMethod(); // interface method
}
interface SecondInterface {
public void myOtherMethod(); // interface method
}
// DemoClass "implements" FirstInterface and SecondInterface
class DemoClass implements FirstInterface, SecondInterface {
public void myMethod() {
System.out.println("Some text..");
}
public void myOtherMethod() {
System.out.println("Some other text...");
}
}
class MyMainClass {
public static void main(String[] args) {
DemoClass myObj = new DemoClass();
myObj.myMethod();
myObj.myOtherMethod();
}
}
関連ページ
インターフェイスの詳細については、Javaインターフェイスチュートリアルをご覧ください。