ホームページ >Java >&#&チュートリアル >「super()」はどのようにしてJava継承における適切なコンストラクタ呼び出しと親メソッドへのアクセスを可能にするのでしょうか?

「super()」はどのようにしてJava継承における適切なコンストラクタ呼び出しと親メソッドへのアクセスを可能にするのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-11 03:48:09162ブラウズ

How Does `super()` Enable Proper Constructor Invocation and Parent Method Access in Java Inheritance?

「super()」の探索: Java 継承におけるその役割

Java の 'super()' キーワードは、オブジェクト内で重要な役割を果たします。特に継承を扱う場合の指向性プログラミング。その使用法と機能について詳しく見ていきましょう。

親コンストラクターの呼び出し

'super()' は主に、新しいサブクラスを作成するときに親クラスのコンストラクターを呼び出すために使用されます。物体。これにより、サブクラス独自のコンストラクターが実行される前に、親の初期化コードが確実に実行されます。

引数なしで 'super()' を呼び出すと、デフォルトで引数なしで親コンストラクターが呼び出されます。これは、オブジェクトの適切な初期化と継承された状態のセットアップを保証するために必要です。

例:

class Parent {
    private String name;

    public Parent() {
        name = "Default parent name";
    }
}

class Child extends Parent {
    public Child() {
        super(); // Calls the Parent constructor with no arguments
    }
}

親コンストラクターに引数を渡す

'super ()' を使用して、親コンストラクターに引数を渡すこともできます。これは、親コンストラクターに複数のオーバーロードされたメソッドがある場合に便利です。特定の引数を指定することで、目的の親コンストラクターを呼び出すことができます。

例:

class Parent {
    private String name;

    public Parent(String name) {
        this.name = name;
    }
}

class Child extends Parent {
    public Child(String name) {
        super(name); // Calls the Parent constructor with a name argument
    }
}

親メソッドの呼び出し

親コンストラクターの「super」を使用して、親クラスのメソッドと変数にアクセスすることもできます。これにより、サブクラスが継承された動作を拡張またはオーバーライドできるようになります。

親メソッドを呼び出すには、構文 'super.methodName()' を使用します。

例:

class Parent {
    public void printName() {
        System.out.println("Parent's name: " + name);
    }
}

class Child extends Parent {
    public void printChildName() {
        super.printName(); // Calls the printName() method from the Parent class
    }
}

詳細なチュートリアルと詳細な説明については、提供されているリソースのリンクを参照してください。

以上が「super()」はどのようにしてJava継承における適切なコンストラクタ呼び出しと親メソッドへのアクセスを可能にするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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