この記事では、java に関する関連知識を提供します。主に、パラメータ化された構築、パラメータなしの構築、クラスの継承、メソッドなど、オブジェクト指向に関する関連問題を紹介します。書き換え、リロードなどを見てみましょう。 .、皆さんの参考になれば幸いです。
推奨学習: 「java チュートリアル 」
クラスの構築メソッドは特別なメソッドです。このメソッドの名前はクラス名と一致している必要があります。構築には戻り値を含めることはできず、void を使用せず、直接呼び出すこともできません。クラスの構築時に自動的に呼び出されます。オブジェクトはインスタンス化され、新しいときに呼び出すことができます。一般コンストラクターは、クラス オブジェクトをインスタンス化する際の初期化に使用されます。クラスにコンストラクターが記述されていない場合、システムはコンパイル中にこのクラスに引数のないコンストラクターを自動的に追加します。宣言側のクラスがコンストラクターを記述している場合、システムはパラメーターのないコンストラクターを追加しません。コンストラクターを記述した後、パラメーターのないコンストラクターを記述することをお勧めします。
端的に言えば、パラメータなしの構築方法です。概念を理解していない場合は、例を見て明らかになるでしょう。クラス A にコンストラクター A() を作成し、文を出力しますクラス A
public class A { }ログイン後にコピー
コンストラクターはクラス名と同じである必要があります新しいテスト クラスを作成し、クラス A のオブジェクトをクラスに追加します
public class A { public A(){ System.out.println("构造方法A()"); }}ログイン後にコピー
main メソッドを実行して試してくださいpublic class Test { public static void main(String[] args) { A a = new A(); }}ログイン後にコピー
#構築メソッドは、新しいオブジェクトで自動的に使用されるメソッドと同等です
#パラメータ付きのコンストラクタはパラメータ付きのコンストラクタです##パラメータを使用した構築
public class A { public A() { } public A(String a, String b) { System.out.println(a + b); }}ログイン後にコピー
テスト クラスに新しいパラメータを渡します。オブジェクトをオブジェクト化するときのパラメータに
public class Test { public static void main(String[] args) { A a = new A("aaa", "bbb"); }}
main メソッドを実行する
がありますnoconstructor の場合、クラス内にパラメータのない構造が隠されています。ただし、パラメーター化されたコンストラクターを作成すると、非表示のパラメーターのないコンストラクターは表示されなくなります。その場合、新しいオブジェクトは将来的にのみパラメータを取ることができます。したがって、パラメーター化されたコンストラクターを構築する場合は、パラメーターなしのコンストラクターを作成してそこに配置する必要があります。
Note
クラスの継承Java 言語では、クラス クラスには 1 つの継承と複数の実装インターフェイスがあります。インターフェイスインターフェイスは多重継承です。
#なぜ継承する必要があるのでしょうか?サブクラスは親クラスに基づいて新しい機能を追加したいためです。
サブクラスは親クラスのメソッドと属性を継承します。
次は分析の例です:親クラスは人間で、サブクラスは経験豊富なドライバーです。
人間の特徴には、2 本の手、2 つの目、2 つの足、食べたり飲んだりする能力が含まれます。
古いドライバーは人間の特性を受け継ぎ、運転できるという追加機能を備えています。
コードは次のとおりです。
これは、次の属性と機能を持つ人間です。
public class Ren { public final String shou = "两只手"; public final String jiao = "两只脚"; public final String yan = "两只眼"; public void chi() { System.out.println("会吃"); } public void he() { System.out.println("会喝"); }}
これは人間から受け継いだベテランクラスです。また、public class Siji extends Ren { public void kai() { System.out.println("会开车"); }}ログイン後にコピー
Test を実行できる追加関数があります。古いドライバー オブジェクトの出力属性を作成し、メソッドを呼び出します。public class Test { public static void main(String[] args) { Siji b = new Siji(); System.out.println(b.jiao); System.out.println(b.shou); System.out.println(b.yan); b.chi(); b.he(); b.kai(); }}ログイン後にコピー
メソッドの書き換え、オーバーロード
オーバーライドの書き換え: メソッド名、戻り値の型、仮パラメーターはすべて同じです。この場合、それは継承関係に違いありません。
オーバーロード: 同じメソッド名、戻り値の型、仮パラメータの数、および異なる型を持つメソッドは、必ずしも継承関係である必要はありません。コンストラクター メソッドのオーバーロードなど、同じクラス内に存在することもできますRewriteたとえば、人は食べたり飲んだりできますが、経験豊富なドライバーは食べるという機能が気に入らず、それをクソを食べるように変更したいと考えています。サブクラスは親クラスのメソッドに満足できず、変更したいため、このようにしてサブクラスが親クラスのメソッドをオーバーライドします。
コードは次のとおりです:メソッド名は同じである必要があります古いドライバーは人間の chi() メソッドを書き換えます
public class Siji extends Ren { public void kai() { System.out.println("会开车"); } public void chi() { System.out.println("会吃屎"); }}
実行中のテスト クラスを書き換えます
パラメータ付きの構築とパラメータなしの構築はメソッドのオーバーロードです。クラス内に同じ名前のメソッドが 2 つありますが、戻り値の型とパラメータの型はそれぞれ次のとおりです。パラメータの違いです。
2 つのメソッドは、戻り値の型、パラメータの型、およびパラメータの数のいずれか 1 つだけが異なります。ただし、メソッド名が同じであるため、2 つのメソッドはオーバーロードされます。
推奨学習: 「Java チュートリアル 」
以上がJAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。