TECH I.S.

Java implements

❮ Java キーワード


interface(インターフェース)は、「空の」本体を持つ関連メソッドをグループ化するために使用される抽象的な「クラス」です。 インターフェースメソッドにアクセスするには、(extends ではなく)implements を使用して、インターフェースを別のクラスによって「実装」(継承のようなもの) する必要があります。インターフェースメソッドの本体は、「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(); } }

定義と使用法

implementsは、interfaceを実装するために使用されます。 interfaceは、抽象メソッドのみを含む特別なタイプのクラスを宣言するために使用されます。

インターフェースメソッドにアクセスするには、(extends ではなく)implementsを使用して、インターフェースを別のクラスによって「実装」(継承のようなもの) する必要があります。 インターフェースメソッドの本体は、「implement」クラスによって提供されます。

インターフェースに関する注意事項

- オブジェクトの作成には使用できません (上記の例では、MyMainClass に「Animal」オブジェクトを作成することはできません)。
- インターフェースメソッドには本体がありません。本体は「実装」クラスによって提供されます。
- インターフェースの実装では、そのすべてのメソッドをオーバーライドする必要があります。
- インターフェースメソッドはデフォルトでabstractpublicです。
- インターフェース属性はデフォルトで、publicstaticfinalです。
- インターフェースにコンストラクターを含めることはできません (オブジェクトの作成には使用できないため)。

インターフェースを使用する理由とタイミング

セキュリティを確保するには、特定の詳細を非表示にして、オブジェクト (インターフェース) の重要な詳細のみを表示します。

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インターフェースチュートリアル


❮ Java キーワード


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細