ホームページ >Java >&#&チュートリアル >JAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)

JAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)

WBOY
WBOY転載
2022-04-12 18:48:241678ブラウズ

この記事では、java に関する関連知識を提供します。主に、パラメータ化された構築、パラメータなしの構築、クラスの継承、メソッドなど、オブジェクト指向に関する関連問題を紹介します。書き換え、リロードなどを見てみましょう。 .、皆さんの参考になれば幸いです。

JAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)

推奨学習: 「

java チュートリアル

構築方法

クラスの構築メソッドは特別なメソッドです。このメソッドの名前はクラス名と一致している必要があります。構築には戻り値を含めることはできず、void を使用せず、直接呼び出すこともできません。クラスの構築時に自動的に呼び出されます。オブジェクトはインスタンス化され、新しいときに呼び出すことができます。一般コンストラクターは、クラス オブジェクトをインスタンス化する際の初期化に使用されます。クラスにコンストラクターが記述されていない場合、システムはコンパイル中にこのクラスに引数のないコンストラクターを自動的に追加します。宣言側のクラスがコンストラクターを記述している場合、システムはパラメーターのないコンストラクターを追加しません。

コンストラクターを記述した後、パラメーターのないコンストラクターを記述することをお勧めします。

パラメータなしの構築

端的に言えば、パラメータなしの構築方法です。概念を理解していない場合は、例を見て明らかになるでしょう。

クラス A

public class A {
    }
クラス A にコンストラクター A() を作成し、文を出力します
コンストラクターはクラス名と同じである必要があります


public class A {
    public A(){
        System.out.println("构造方法A()");
    }}
新しいテスト クラスを作成し、クラス A のオブジェクトをクラスに追加します

public class Test {
    public static void main(String[] args) {
        A a = new A();
    }}
main メソッドを実行して試してください

JAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)

#構築メソッドは、新しいオブジェクトで自動的に使用されるメソッドと同等です

##パラメータを使用した構築

#パラメータ付きのコンストラクタはパラメータ付きのコンストラクタです

クラス A でパラメータ付きのコンストラクタを宣言し、2 つの String 型パラメータ a と b

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 メソッドを実行する


NoteJAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)

がありますnoconstructor の場合、クラス内にパラメータのない構造が隠されています。ただし、パラメーター化されたコンストラクターを作成すると、非表示のパラメーターのないコンストラクターは表示されなくなります。その場合、新しいオブジェクトは将来的にのみパラメータを取ることができます。したがって、パラメーター化されたコンストラクターを構築する場合は、パラメーターなしのコンストラクターを作成してそこに配置する必要があります。

クラスの継承

Java 言語では、クラス クラスには 1 つの継承と複数の実装インターフェイスがあります。インターフェイスインターフェイスは多重継承です。

#なぜ継承する必要があるのでしょうか?サブクラスは親クラスに基づいて新しい機能を追加したいためです。

サブクラスは親クラスのメソッドと属性を継承します。 JAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)

次は分析の例です:

親クラスは人間で、サブクラスは経験豊富なドライバーです。
人間の特徴には、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();
    }}

メソッドの書き換え、オーバーロード

JAVAオブジェクト指向の継承、構築方法、上書きと多重ロード(概要の共有)オーバーライドの書き換え: メソッド名、戻り値の型、仮パラメーターはすべて同じです。この場合、それは継承関係に違いありません。

オーバーロード: 同じメソッド名、戻り値の型、仮パラメータの数、および異なる型を持つメソッドは、必ずしも継承関係である必要はありません。コンストラクター メソッドのオーバーロードなど、同じクラス内に存在することもできます

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 サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。