Java
 Computer >> コンピューター >  >> プログラミング >> Java

コンパイル時のポリモーフィズムと実行時のポリモーフィズムの違い


ポリモーフィズムは、最も重要なOOPの概念の1つです。これは、単一のタスクを複数の方法で実行できるという概念です。ポリモーフィズムには、コンパイル時のポリモーフィズムと実行時のポリモーフィズムの2種類があります。

メソッドのオーバーロードはコンパイル時のポリモーフィズムの例であり、メソッドのオーバーライドは実行時のポリモーフィズムの例です。

Sr。いいえ。 キー コンパイル時のポリモーフィズム ランタイムポリモーフィズム
1
基本
コンパイル時のポリモーフィズムは、コンパイル時にバインディングが発生していることを意味します
R un time polymorphism実行時に、どのメソッドが呼び出されるかを知るようになりました
2
静的/動的
バインディング


静的バインディングによって実現できます
動的バインディングによって実現できます
4。
継承
継承は関係ありません
継承が含まれます
5

メソッドのオーバーロードは、コンパイル時のポリモーフィズムの例です
メソッドのオーバーライドは、実行時のポリモーフィズムの例です

コンパイル時のポリモーフィズムの例

public class Main {
   public static void main(String args[]) {
      CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample();
      obj.display();
      obj.display("Polymorphism");
   }
}
class CompileTimePloymorphismExample {
   void display() {
      System.out.println("In Display without parameter");
   }
   void display(String value) {
      System.out.println("In Display with parameter" + value);
   }
}

ランタイムポリモーフィズムの例

public class Main {
   public static void main(String args[]) {
      RunTimePolymorphismParentClassExample obj = new RunTimePolymorphismSubClassExample();
      obj.display();
   }
}

class RunTimePolymorphismParentClassExample {
   public void display() {
      System.out.println("Overridden Method");
   }
}

public class RunTimePolymorphismSubClassExample extends RunTimePolymorphismParentExample {

   public void display() {
      System.out.println("Overriding Method");
   }
}

  1. Javaでのイテレータと列挙の違い

    IteratorとEnumerationはどちらも、コレクションの要素をトラバースしてアクセスするためのカーソルです。どちらもコレクションフレームワークに属しています。列挙は、コレクションフレームワークのJDK1.2バージョンのJDK1.0およびIteratorで追加されました。 コレクション内の要素への読み取り専用アクセス権があるため、列挙型はコレクション内の構造を変更できません。次の方法があります: * hasMoreElements() * nextElement() 一方、イテレータはコレクション内の要素を読み取って削除できます。以下の方法があります- * hasNe

  2. JavaでのArrayListとHashSetの違い

    HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり