ホームページ >Java >&#&チュートリアル >Javaでのインターフェース定義のサンプルコードを詳しく解説

Javaでのインターフェース定義のサンプルコードを詳しく解説

黄舟
黄舟オリジナル
2017-03-25 10:38:471731ブラウズ

この記事では主にJavaのインターフェースの定義とサンプルコードに関する関連情報を紹介します。必要な方は

Javaのインターフェースの詳細な定義

1を参照してください。インターフェイスを定義するには、インターフェイスを使用します。インターフェイス定義は、同様の定義と同様に、インターフェイス宣言とインターフェイス本体に分かれています。インターフェイス本体は、定数定義とメソッド定義の 2 つの部分で構成されます。インターフェイスを定義するための基本的な形式は次のとおりです:

[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}

Modifier

: オプション。インターフェイスのアクセス許可を指定するために使用されます。オプションの値は public です。省略した場合は、デフォルトのアクセス許可が使用されます。 インターフェース名

: インターフェースの名前を指定するために使用される必須パラメーター。インターフェース名は有効な Java 識別子である必要があります。通常、大文字が必要です。


拡張

親インターフェース名リスト:

定義されるインターフェースがどの親インターフェースからを継承するかを指定するために使用されるオプションのパラメータ。 extends キーワードを使用する場合、親インターフェイス名は必須パラメータです。

メソッド: インターフェース内のメソッドは定義されているだけで、実装されていません。 たとえば、定数PIと2つのメソッドが定義された計算用のインターフェースを定義します。具体的なコードは次のとおりです:

public interface CalInterface 
{ 
 final float PI=3.14159f;//定义用于表示圆周率的常量PI 
 float getArea(float r);//定义一个用于计算面积的方法getArea() 
 float getCircumference(float r);//定义一个用于计算周长的方法getCircumference() 
}

注:

Javaのクラスファイルと同様に、インターフェースファイルのファイル名です。インターフェース名と同じである必要があります。

インターフェースの実装

インターフェースを定義したら、クラスに実装できます。クラスにインターフェイスを実装するには、キーワードimplementsを使用できます。その基本形式は次のとおりです:
[修飾子]

class

1c55f01cedde6d7931513883ac626392 [親クラス名を拡張] [実装インターフェイスリスト]{}

modifier :
クラスのアクセス許可を指定するために使用されるオプションのパラメータ。オプションの値は public、abstract、final です。

クラス名:

クラスの名前を指定するために使用される必須パラメータ。クラス名は有効な Java 識別子である必要があります。通常、大文字が必要です。


extends

親クラス名: 定義されるクラスがどの親クラスから継承するかを指定するために使用されるオプションのパラメータ。 extends キーワードを使用する場合、親クラス名は必須パラメーターです。


implements

インターフェイス リスト: このクラスが実装するインターフェイスを指定するために使用されるオプションのパラメーター。 implements キーワードを使用する場合、インターフェイス リストは必須パラメータです。インターフェースリストに複数のインターフェース名がある場合は、カンマで区切って指定します。

クラスにインターフェイスを実装する場合、メソッド名、戻り値の型、パラメータの数と型がインターフェイス内のそれらと完全に一致し、インターフェイス内のすべてのメソッドが実装されている必要があります。たとえば、セクション 5.7.1 で定義されたインターフェース Calculate を実装する Cire という名前のクラスを作成します。具体的なコードは次のとおりです:

public class Cire implements CalInterface 
{ 
 public float getArea(float r) 
 { 
  float area=PI*r*r;//计算圆面积并赋值给变量area 
  return area;//返回计算后的圆面积 
 } 
 public float getCircumference(float r) 
 { 
  float circumference=2*PI*r;  //计算圆周长并赋值给变量circumference 
  return circumference;   //返回计算后的圆周长 
 } 
 public static void main(String[] args) 
 { 
  Cire c = new Cire(); 
  float f = c.getArea(2.0f); 
  System.out.println(Float.toString(f)); 
 } 
}

クラスの継承では単一の継承のみが可能ですが、インターフェースの実装では 1 つの複数のインターフェースが可能です。を実装することができ、各インターフェイスはカンマ「,」で区切られます。このとき、定数またはメソッド名の競合が発生する可能性があります。この問題を解決する場合、定数のインターフェイスを明示的に指定する必要があります。これは、「インターフェイス名.constant」によって実現できます。メソッドの競合が発生した場合、実装する必要があるメソッドは 1 つだけです。以下では、上記の問題の解決策を具体的な例を通じて詳しく説明します。

以上がJavaでのインターフェース定義のサンプルコードを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。