この記事では、主に、次のように、Javaの過負荷、書き換え、多型、静的結合、動的結合に関する関連する内容を研究しています。
過負荷、英語名は過負荷です。つまり、同じ名前の複数の方法がクラスで定義されています。これらのメソッドのパラメーターの数、パラメータータイプ、および順序は同じではありません。リターンタイプは同じまたは異なる場合があります。
public class tstaticoverload {static int height; tstaticoverload(){system.out.println( "植え付けの苗木"); height = 0;} tstaticOverload(int initialheight){height = heightheight; system.out.println( "新しい木の作成" + height + "tree");高さ +「高さ」 public class testso {public static void main(string [] args){tstaticoverload t = new tstaticOverload(5); tstaticOverload.info(); tstaticOverload.info( "オーバーロードメソッド"); new tstaticOverload();}}}OUT:高さ5フィートの木の新しい木を作成すると、高さ5フィートの過負荷方法:木は苗を植えて5フィートです
書き換えて、英語名はオーバーライドです。つまり、継承の場合、サブクラスで同じ名前、同じ戻り型、または互換性のあるタイプ、および基本クラスのメソッドと同じパラメーターが定義されている方法が定義されています。これは、サブクラスと呼ばれ、基本クラスのメソッドを書き直します。これは、多型を実装するために必要なステップです。
多型:多型とは、同じ行動が複数の異なる症状または形式を持つ能力です。
public class staticsupper {public static string staticget(){return "base staticget()";} public string dynamicget(){return "base dynamicget()";}} class staticsub拡張staticsupper {pub static string staticget(){return "sub staticget()";}} public string dynamic() staticMub拡張staticSupper {pub static string staticget(){return "mub staticget()";} public string dynamicget(){return "mub dynamicget()";}}}パブリッククラスStaticPolymorphism {public static void main(string [] args){staticsupper sup1 = new staticsub(); system.out.println(sup1.staticget()); system.out.println(sup1.dynamicget()); staticsupper sup2 = new StaticMub(); system.out.println(sup2.staticget()); System.out.println(sup2.dynamicget()); }}out:base staticget()sub dynamicget()base staticget()mub dynamicget()
プログラムバインディングの概念:
バインディングとは、メソッドが配置されているクラス(メソッド本体)とメソッドコールとの関連付けを指します。 Javaの場合、結合は静的結合と動的結合に分割されます。または、それは早期結合と遅い結合と呼ばれます。
静的結合:
この方法は、プログラムが実行される前にバインドされており、コンパイラまたはその他の接続プログラムによって実装されます。例:C。
Javaの場合、プログラムの編集期間中に拘束力があると理解できます。 Javaの唯一の方法は、早期の結合である最終、静的、プライベート、およびコンストラクターの方法であることが特に明らかです。
動的バインディング:
後のバインディング:動的バインディングとは、特定のオブジェクトのタイプに応じて実行時間がバインドされるまで、コンパイル段階でどのメソッドを呼び出すかをコンパイラに指します。
言語が遅い結合を実装する場合、操作中にオブジェクトのタイプを決定し、適切な方法を個別に呼び出すためのいくつかのメカニズムも提供する必要があります。言い換えれば、コンパイラはまだ現時点ではオブジェクトタイプを知りませんが、メソッド呼び出しメカニズムはそれを単独で調査し、正しいメソッド本体を見つけることができます。言語が異なると、遅延バインディングを実装する方法が異なります。しかし、少なくともこのように考えることはできます。それらはすべて、オブジェクトに特定の特別な種類の情報をインストールする必要があります。
メソッドオーバーロードには、静的メソッドオーバーロードと通常のメソッドオーバーロードが含まれます。静的メソッドオーバーロードは静的結合であり、メソッド呼び出しは次のとおりです。クラス名。方法。通常のメソッドオーバーロードは動的バインディングであり、メソッド呼び出しは以下を介して行われます。方法。コンストラクターはオーバーロードできますが、書き直すことはできません。
静的方法は書き直すことができますが、多型効果は達成されません。
要約します
上記は、Javaにおける過負荷、書き換え、多型、静的結合、動的結合に関するこの記事の簡単な議論に関するものです。私はそれが誰にでも役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!