ホームページ >Java >&#&チュートリアル >Javaの継承とインターフェイスの違い

Javaの継承とインターフェイスの違い

Susan Sarandon
Susan Sarandonオリジナル
2025-02-07 11:42:20476ブラウズ

Difference between Inheritance and Interface in Java

Javaの継承とインターフェイスは、クラスとコードの再利用を実装するために使用される2つの異なるコード組織メソッドです。継承は、親クラスのプロパティとメソッドをコピーすることによりサブクラスを作成し、インターフェイスは実装クラスによって特異的に実装されるメソッドシグネチャのセットを定義します。この記事では、2つの主要な違いを説明し、Javaコードの例で説明します。

コード例

次のコードは、インターフェイスと継承の適用を示しています。

出力結果:
<code class="language-java">C.add(5, 10);
C.subtract(35, 15);
C.multiply(6, 9);
C.divide(45, 6);</code>

継承とインターフェイスの違い
<code>The result is here. Have A Look : 15.0
The result is here. Have A Look : 20.0
The result is here. Have A Look : 54.0
The result is here. Have A Look : 7.5</code>

継承により、クラスは親クラスと祖先クラスの特徴を継承できます。インターフェイスは、抽象化とメソッドセットの間の契約を定義します。
特性 继承 接口
定义 基类将行为传递给子类。 接口定义了所有声明方法的关系。
代码复用 通过重写方法复用超类代码。 通过多态性提高代码可重用性。
多继承支持 单继承(一个类只能继承一个父类),但可以有多个子类。 支持多继承,无需指定实现细节。

メソッドとアルゴリズム

この記事では、サンプルコードを使用して、コレクションとイテレーターを使用してデータを処理し、インターフェイスと継承を介して計算機関数を実装する方法を示します。 アルゴリズムの主な手順は次のとおりです。

入力ストリームと出力ストリームを宣言します。

    必要なクラスと関数をインポートします。
  1. 公開クラスを定義します。
  2. メソッドを定義します(追加、減算、乗算、分割、印刷結果)。
  3. 計算機オブジェクトを作成し、メソッドを呼び出します。
  4. 結果を印刷します。
  5. 文法の例
次のコードは、継承とインターフェイスの仕組みを説明するために、コレクションを横断する際のツリーセット、IDHASHMAP、およびハッシュテーブルの使用と、コレクションを横断する際の反復器の適用を示しています。

ダイヤモンドの問題(ダイヤモンド問題)

<code class="language-java">TreeSet STTREE = new TreeSet();
STTREE.add(4);
STTREE.add(5);
STTREE.add(6);
STTREE.add(8);
STTREE.add(4);

IdentityHashMap ihmap = new IdentityHashMap();
ihmap.put(10, "ARB");
ihmap.put(20, "RDD");
ihmap.put(30, "ARBRDD");
ihmap.put(40, "KOLDHKA");
ihmap.put(50, "You");

System.out.println("IdentityHashMap size : " + ihmap.size());
System.out.println("Initial identity hash map :  " + ihmap);

Hashtable table = new Hashtable();
table.put(1, "X");
table.put(2, "Y");
table.put(3, "Z");
table.put(4, "A");

for (Map.Entry m : table.entrySet()) {
    Iterator<map.entry> itr = ihmap.entrySet().iterator();
    while (itr.hasNext()) {
        IdentityHashMap.Entry entry = itr.next();
        TreeMap MAPTREE = new TreeMap();
        MAPTREE.put(2, 5);
        MAPTREE.put(3, 6);
        MAPTREE.put(4, 6);
        MAPTREE.put(2, 3);
    }
}</map.entry></code>
ダイヤモンドの問題は、この記事では、インターフェイスの実装を通じてこの問題を回避します。 インターフェイスの複数の継承は、単一の継承の制限を回避し、コードの柔軟性とスケーラビリティを向上させます。

コードの例(ダイヤモンド法を使用)

次のコードは、インターフェイスと実装クラスを使用した計算機の実装を示しています。

結論

この記事では、サンプルコードと表を介してJavaの継承とインターフェイスの違いを明確に説明し、実際のケースを通じて柔軟で拡張可能なプログラムを構築するためにそれらを使用する方法を示します。 継承とインターフェイスの違いを理解することは、高品質のJavaコードを作成するために不可欠です。

以上がJavaの継承とインターフェイスの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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