ホームページ >Java >&#&チュートリアル >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>
特性 | 继承 | 接口 |
---|---|---|
定义 | 基类将行为传递给子类。 | 接口定义了所有声明方法的关系。 |
代码复用 | 通过重写方法复用超类代码。 | 通过多态性提高代码可重用性。 |
多继承支持 | 单继承(一个类只能继承一个父类),但可以有多个子类。 | 支持多继承,无需指定实现细节。 |
メソッドとアルゴリズム
入力ストリームと出力ストリームを宣言します。
ダイヤモンドの問題(ダイヤモンド問題)
<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 サイトの他の関連記事を参照してください。