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

Javaのポリモーフィズム


ポリモーフィズムは、オブジェクトがさまざまな形をとる能力です。 OOPでのポリモーフィズムの最も一般的な使用法は、親クラス参照を使用して子クラスオブジェクトを参照する場合に発生します。

複数のIS-Aテストに合格できるJavaオブジェクトは、多形であると見なされます。 Javaでは、すべてのJavaオブジェクトはポリモーフィックです。これは、どのオブジェクトも、独自のタイプとクラスObjectのIS-Aテストに合格するためです。

オブジェクトにアクセスする唯一の可能な方法は、参照変数を使用することであるということを知っておくことが重要です。参照変数は1つのタイプのみにすることができます。宣言されると、参照変数のタイプは変更できません。

参照変数は、finalとして宣言されていない限り、他のオブジェクトに再割り当てできます。参照変数のタイプによって、オブジェクトで呼び出すことができるメソッドが決まります。

参照変数は、宣言された型の任意のオブジェクトまたは宣言された型の任意のサブタイプを参照できます。参照変数は、クラスまたはインターフェースタイプとして宣言できます。

例を見てみましょう。

public                  interface                             Vegetarian{}
public                     class                                  Animal{}
public class Deer extends Animal implements Vegetarian{}

現在、Deerクラスには複数の継承があるため、Deerクラスは多型であると見なされます。上記の例については、次のことが当てはまります-

  • 鹿は動物です
  • 鹿は菜食主義者です
  • 鹿は-鹿
  • 鹿はオブジェクトです

参照変数ファクトをDeerオブジェクト参照に適用する場合、次の宣言は有効です-

Deer            d               =         new                      Deer();
Animal          a               =                                       d;
Vegetarian      v               =                                       d;
Object          o               =                                       d;

すべての参照変数d、a、v、oは、ヒープ内の同じDeerオブジェクトを参照します。


  1. Javaでこれへの参照を割り当てることは可能ですか?

    「これ」 Javaのキーワードは、インスタンスメソッドまたはコンストラクター内で現在のオブジェクトへの参照として使用されます。これを使用すると、コンストラクター、変数、メソッドなどのクラスのメンバーを参照できます。 「これ」への参照の割り当て 定義によるとthis 現在のオブジェクト(コンストラクター/メソッドを使用しているオブジェクト)への参照として機能するキーワードであり、その値IDは固定されています。したがって、新しい参照値を割り当てることはできません。さらに、これは単なるキーワードであり、変数ではありません。 それでも、それを行おうとすると、 thisに参照値を割り当て

  2. JavaオブジェクトをJSONに変換する方法

    このチュートリアルでは、JacksonとGsonの2つのライブラリを使用してJavaオブジェクトをJSONに変換する方法を示します。 標準のPOJOであるPersonクラスを使用します。人物オブジェクトを作成したら、別のライブラリを使用してそれをJSONに変換できます。 Person.java import java.util.List; import java.util.Map; public class Person { String name; Integer age; List<String> hobbies; Map<Str