ホームページ  >  記事  >  Java  >  Javaでのsuper()は何を意味しますか

Javaでのsuper()は何を意味しますか

下次还敢
下次还敢オリジナル
2024-05-08 08:03:19329ブラウズ

super() を使用すると、サブクラスが親クラスのコンストラクターまたはメソッドを呼び出して親クラスの関数を再利用し、サブクラスの状態が正しく初期化されていることを確認し、ポリモーフィズムを実現できます。 Java の

Javaでのsuper()は何を意味しますか

super()

super() は Java の特別なメソッドであり、コンストラクターまたは親クラスのメソッドを呼び出すために使用されます。

使い方

コンストラクター内で super() を呼び出す

super() は、親クラスのコンストラクターを呼び出すために、サブクラスのコンストラクター内の最初のステートメントとして呼び出す必要があります。これにより、親クラスのコンストラクターが子クラスのコンストラクターの前に実行されるようになり、親クラスの状態が適切に初期化されます。

例:

<code class="java">class Parent {
    int num;

    Parent(int num) {
        this.num = num;
    }
}

class Child extends Parent {
    int score;

    Child(int num, int score) {
        super(num);  // 调用父类的构造函数
        this.score = score;
    }
}</code>

メソッド内でsuper()を呼び出す

super()をメソッド内で使用して、親クラスのメソッドを呼び出すこともできます。これにより、サブクラスは親クラスの実装にアクセスしながら、親クラスのメソッドをオーバーライドできるようになります。

例:

<code class="java">class Parent {
    void sayHello() {
        System.out.println("Hello from Parent");
    }
}

class Child extends Parent {
    @Override
    void sayHello() {
        super.sayHello();  // 调用父类方法
        System.out.println("Hello from Child");
    }
}</code>

利点

  • 拡張性: super() により、コードを複製せずに親クラスの機能を再利用できます。
  • 堅牢性: 親クラスのコンストラクターを呼び出すことにより、super() は子クラスの状態が正しく初期化されていることを保証します。
  • ポリモーフィズム: super() を使用すると、サブクラスが親クラスのメソッドをオーバーライドできるようになり、それによってポリモーフィズムが達成されます。

以上がJavaでのsuper()は何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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