Javaインターフェイスメソッド
インターフェイスのメソッドはデフォルトで抽象的です。つまり、インターフェイスのメソッドにはメソッドシグネチャのみが含まれ、内部にはコンテンツが含まれません。例を見てみましょう-
例
interface Car{
public void carSpeed();
public void sleep();
}
class Porsche implements Car{
public void carSpeed(){
System.out.println("The speed of the Porsche is too much");
}
public void sleep(){
System.out.println("Sleeping for few milliseconds");
}
}
public class Demo{
public static void main(String[] args){
Porsche my_car = new Porsche();
my_car.carSpeed();
my_car.sleep();
}
} 出力
The speed of the Porsche is too much Sleeping for few milliseconds
「Car」という名前のインターフェースは、「carSpeed」と「sleep」という名前の2つの関数で定義されています。 Npw、このインターフェースは「Porsche」という名前のクラスによって実装されています。このクラスは「carSpeed」と「sleep」を定義しますが、インターフェースはそれらを定義したばかりで、本体はありませんでした。これで、Demoという名前のクラスに、Porscheクラスのインスタンスを作成するmain関数が含まれます。このインスタンスは、「carSpeed」および「sleep」関数で呼び出されます。
-
Java8でのインターフェースの機能強化
Java 8では、インターフェースにデフォルトのメソッド実装の新しい概念が導入されています。この機能は下位互換性のために追加されているため、古いインターフェースを使用してJava8のラムダ式機能を活用できます。 たとえば、「List」または「Collection」インターフェースには「forEach」メソッド宣言がありません。したがって、このようなメソッドを追加すると、コレクションフレームワークの実装が壊れてしまいます。 Java 8ではデフォルトのメソッドが導入されているため、List / CollectionインターフェースはforEachメソッドのデフォルトの実装を持つことができ、これ
-
Javaのインターフェース
インターフェースはJavaの参照型です。クラスに似ています。これは、抽象的なメソッドのコレクションです。クラスはインターフェースを実装し、それによってインターフェースの抽象メソッドを継承します。 インターフェイスには、抽象メソッドに加えて、定数、デフォルトメソッド、静的メソッド、およびネストされた型も含まれる場合があります。メソッド本体は、デフォルトのメソッドと静的メソッドにのみ存在します。 インターフェイスの作成は、クラスの作成に似ています。ただし、クラスはオブジェクトの属性と動作を記述します。また、インターフェースには、クラスが実装する動作が含まれています。 インターフェイスを実装す