デフォルトコンストラクタとパラメータ化コンストラクタの違いは何ですか
目次:
デフォルトのコンストラクターは、プログラマーがプログラムでコンストラクターを定義していない場合に自動的に呼び出されるコンストラクターのタイプです。対照的に、パラメーター化されたコンストラクターは、クラス内のインスタンス変数に初期値を与えるパラメーターを渡すことによってプログラマーによって定義されるコンストラクターのタイプです。 それは 主な違い デフォルトのコンストラクターとパラメーター化されたコンストラクターの間。
ほとんどの高級プログラミング言語は、オブジェクト指向プログラミング(OOP)をサポートしています。 OOPでは、すべてがクラスであり、オブジェクトの構築に役立ちます。これらのオブジェクトは、プログラム内で相互に通信します。コンストラクターはOOPの概念です。これは、オブジェクトの作成時にオブジェクトを初期化できるようにする特別なメソッドです。コンストラクターは、デフォルトにすることもパラメーター化することもできます。
コンストラクター、デフォルトコンストラクター、OOP、パラメーター化コンストラクター
デフォルトコンストラクタとは
コンストラクターは、オブジェクトが作成されるときに呼び出されます。また、そのオブジェクトにメモリを割り当てます。さらに、クラス内のインスタンス変数に初期値を与えるのに役立ちます。プログラマーがコンストラクターを定義しない場合、プログラムはデフォルトのコンストラクターを自動的に呼び出します。すべてのメンバー変数をゼロまたはnullに初期化します。
図1:デフォルトコンストラクターを使用したプログラム
上記のプログラムには、学生クラスがあります。 idとnameの2つのインスタンス変数があります。プログラマーはコンストラクターを定義しませんでした。また、mainメソッドにはstudentオブジェクトがあります。最後に、IDと名前がコンソールに出力されます。プログラマーはコンストラクターを定義しなかったため、プログラムはデフォルトのコンストラクターを呼び出します。 idを0に、nameをnullに初期化します。
パラメータ化されたコンストラクタとは
パラメーター化されたコンストラクターは、パラメーターを受け入れるコンストラクターです。 1つ以上のパラメーターが存在する可能性があります。パラメーター化されたコンストラクターがある場合、プログラムはデフォルトのコンストラクターを呼び出しません。さらに、プログラマーはコンストラクター名の後に括弧内のパラメーターを宣言できます。
図2:パラメーター化されたコンストラクターを使用したプログラム
上記は計算と呼ばれるクラスです。 num1とnum2という2つのインスタンス変数があります。 7行目には、パラメーター化されたコンストラクターがあります。 2つの引数xとyを取り、それらの値をインスタンス変数num1とnum2に割り当てます。
さらに、sumと呼ばれる方法があります。これら2つの数値の合計が返されます。 mainメソッドには計算対象があります。 sumメソッドは、obj1を使用して呼び出されます。最後に、結果がコンソールに出力されます。
デフォルトコンストラクタとパラメータ化コンストラクタの違い
意味
デフォルトのコンストラクターは、プログラマー定義のコンストラクターがない場合にコンパイラーが自動的に生成するコンストラクターです。逆に、パラメーター化されたコンストラクターは、プログラマーがクラスのインスタンス変数を初期化するために1つ以上のパラメーターを使用して作成するコンストラクターです。したがって、これはデフォルトコンストラクタとパラメータ化コンストラクタの主な違いを説明しています。
パラメータの数
パラメーターは、デフォルトのコンストラクターとパラメーター化されたコンストラクターの主な違いです。デフォルトのコンストラクターにはパラメーターがありませんが、パラメーター化されたコンストラクターには1つ以上のパラメーターがあります。
呼び出し方法
プログラマーがコンストラクターの記述をスキップした場合、プログラムはデフォルトのコンストラクターを自動的に呼び出します。一方、プログラマーは、パラメーター化されたコンストラクターを作成するときに、独自のコンストラクターを作成する必要があります。
結論
デフォルトのコンストラクターは、プログラマーがプログラムでコンストラクターを定義していない場合に自動的に呼び出されるコンストラクターのタイプです。対照的に、パラメーター化されたコンストラクターは、クラス内のインスタンス変数に初期値を与えるパラメーターを渡すことによってプログラマーによって定義されるコンストラクターのタイプです。これが、デフォルトのコンストラクターとパラメーター化されたコンストラクターの主な違いです。
リファレンス:
1.「Javaコンストラクター–Javatpoint」。 Www.javatpoint.com、ここから入手できます。