Javaでのオーバーロードと書き換えの違い
##オーバーライド (推奨学習: java コース)
文字通り、オーバーライドとは、もう一度書き直すという意味です。実際には、親クラスのメソッド自体をサブクラスで書き換えることになります。サブクラスは親クラスの元のメソッドを継承しますが、サブクラスは親クラスのメソッドをそのまま継承したくない場合があるため、メソッド名、パラメータリスト、戻り値の型(サブクラスのメソッドの戻り値を除く)親クラスのメソッドの戻り値がサブクラスと同じである場合)、メソッド本体を変更または書き換えることを書き換えと呼びます。ただし、サブクラス関数のアクセス変更権限を親クラスのアクセス変更権限より低くすることはできないことに注意してください。例:
public class Father { public static void main(String[] args) { // TODO Auto-generated method stub Son s = new Son(); s.sayHello(); } public void sayHello() { System.out.println("Hello"); } } class Son extends Father{ @Override public void sayHello() { // TODO Auto-generated method stub System.out.println("hello by "); } }
Overload
クラス内で、同じ名前のメソッドに異なるパラメータ リストがある場合(異なるパラメーターの種類、異なるパラメーターの数、または異なるパラメーターの順序も) オーバーロードとみなされます。同時に、オーバーロードには戻り値の型に関する要件はありません。戻り値の型は同じでも異なっていても構いませんが、戻り値の型が同じかどうかによってオーバーロードを判断することはできません。例:
public class Father { public static void main(String[] args) { // TODO Auto-generated method stub Father s = new Father(); s.sayHello(); s.sayHello("wintershii"); } public void sayHello() { System.out.println("Hello"); } public void sayHello(String name) { System.out.println("Hello" + " " + name); } }
面接中に次のような質問がされました: オーバーロードとオーバーライドの違いは何ですか?
回答:メソッドのオーバーロードと書き換えはどちらもポリモーフィズムを実現する方法です。違いは、前者はコンパイル時のポリモーフィズムを実装し、後者は実行時のポリモーフィズムを実装することです。
クラス内でオーバーロードが発生します。同じ名前のメソッドに異なるパラメーター リスト (異なるパラメーターの種類、異なる数のパラメーター、またはその両方) がある場合、それはオーバーロードとみなされ、オーバーライドが発生します。サブクラスと親クラスの間でオーバーライドするには、サブクラスのオーバーライドされたメソッドが親クラスのオーバーライドされたメソッドと同じパラメーター リストを持ち、互換性のある戻り値の型を持ち、親クラスのオーバーライドされたメソッドよりもアクセスしやすいことが必要です。親クラスのオーバーライドされたメソッドと比較することはできません。親クラスのオーバーライドされたメソッドは、より多くの例外を宣言します (リスコフ置換原則)。オーバーロードには戻り値の型に特別な要件がなく、戻り値の型に基づいて区別することはできません。
以上がJavaでのオーバーロードと書き換えの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。
