ホームページ >Java >&#&チュートリアル >Java におけるメソッドの書き換えとメソッドのオーバーロードとは何ですか?違いは何ですか

Java におけるメソッドの書き換えとメソッドのオーバーロードとは何ですか?違いは何ですか

青灯夜游
青灯夜游オリジナル
2018-11-23 11:03:3510361ブラウズ

Java におけるメソッドの書き換えとオーバーロードとは何ですか?この記事では、Javaにおけるメソッドの書き換え(上書き)とオーバーロードとはどのようなものなのかを紹介し、メソッドの書き換えとオーバーロードの違いを理解していきます。困っている友人は参考にしていただければ幸いです。

メソッドのオーバーロードとメソッドの書き換えは、さまざまな Java 実装で頻繁に使用されるオブジェクト指向プログラミング (OOP) の概念であり、Java の 2 つの非常に重要な概念です。メソッドのオーバーロードとメソッドの書き換えを詳しく見てみましょう。

Java におけるメソッドのオーバーロードとは何ですか?

メソッドのオーバーロードを使用すると、同じ名前と同じまたは異なる戻り値の型を持つ複数のメソッドを持つことができます。メソッドのオーバーロードで重要なのは、これらすべてのメソッドが同じ戻り値の型を持つ異なるパラメーターを持つ必要があるということです。次のように、最も多くのパラメータを持つメソッドを実装し、他の (パラメータが少ない) メソッドを「大きな」メソッドにリダイレクトして、不足しているパラメータにデフォルト値を提供するのが一般的です。

Java におけるメソッドのオーバーライド (上書き) とは何ですか?

メソッドのオーバーライド (上書き) は、Java に継承された OOP 原則の一部です。メソッドのオーバーライド (オーバーライド) の背後にある考え方は、サブクラス内の特定のメソッドの実装を変更することです。つまり、メソッド (名前、戻り値の型、パラメーター) メソッドを使用して親クラス メソッドの実装を「オーバーライド」し、オーバーライドされたメソッド内にさまざまな関数を実装します。

注: プライベート、静的、および最終メソッドは Java ではオーバーライドできません。

例:

class  OverloadingExample {  
     static int  add(int  a,int  b){ return  a + b;}   
     static int  add(int  a,int  b,int  c){ return  a + b + c;}   
}

Java でのメソッド書き換え (上書き) ルール

以下は、Java でのメソッド書き換えのルールです。メソッドをオーバーライドするときは、ルールに従う必要があります。

1. メソッドのシグネチャは、戻り値の型、メソッド パラメーターの数、パラメーターの型、パラメーターの順序を含めて同じである必要があります。

2 オーバーライドされたメソッドは、同じである必要があります。元のメソッドまたはオーバーライドされたメソッドよりも多くのメソッドをスローする 高い異常。つまり、元のメソッドが IOException をスローした場合、オーバーライドされたメソッドは例外などの IOException のスーパークラスをスローできませんが、IOException のサブクラスをスローすることも、例外をまったくスローすることもできません。このルールは Java のチェック例外にのみ適用され、オーバーライド メソッドはチェックされていない例外を自由にスローできます。

3. オーバーライド メソッドは、オーバーライド メソッドのアクセシビリティを低下させることはできません。つまり、元のメソッドまたはオーバーライド メソッドがパブリックである場合、オーバーライド メソッドはそれを保護できません。

Java でのメソッドのオーバーロードとメソッドの書き換えの具体的な例を見てみましょう。

次に、Java でのメソッドのオーバーロードとメソッドの書き換えの例を示します。この概念を説明するために、Loan と PersonalLoan の 2 つのクラスを作成しました。 createLoan() メソッドは、バージョンが異なると署名が異なるためオーバーライドされますが、Object クラスで宣言された元の toString() メソッドは、Loan クラスと PersonalLoan クラスの両方でオーバーライドされます。

Java におけるメソッド オーバーライドとメソッド オーバーロードの違い

Java におけるメソッド オーバーライドとメソッド オーバーロードには多くの違いがあり、オーバーロードの違いまた、書き換えは、多くの企業で Java 面接でよく聞かれる質問の 1 つでもあります。それらの違いを見てみましょう:

メソッドのオーバーロード

1. メソッドのオーバーロードでは、クラスは同じ名前で、異なるパラメーターを持つ 2 つ以上のメソッドを持ちます。 。

2. オーバーロードでは、2 つのメソッドで戻り値の型が異なります。

3. メソッドが呼び出されるとき、JVM は渡されたパラメータに従って対応するメソッドを呼び出します。

4. メソッドのオーバーロードは、ポリモーフィズムの例です。

コンパイル時

5. メソッドのオーバーロードは、プログラムの可読性を高めるために使用されます。

メソッドの書き換え

1. メソッドの書き換えでは、クラスとサブクラス内の同じ名前のメソッド (パラメーターも含む) も同じである必要があります。

2. オーバーライドされた戻り値の型でも同じである必要があります。

3. JVM は、メソッドの呼び出しに使用されるオブジェクトに従って、対応するメソッドを呼び出します。

4. メソッドのオーバーライドは、多態性

runtime の例です。

5. メソッドのオーバーライドは、スーパークラスによってすでに提供されているメソッドの特定の実装を提供するために使用されます。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

以上がJava におけるメソッドの書き換えとメソッドのオーバーロードとは何ですか?違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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