ホームページ  >  記事  >  Java  >  Javaのthisとsuperの違い

Javaのthisとsuperの違い

下次还敢
下次还敢オリジナル
2024-05-01 18:46:02971ブラウズ

これは、現在のオブジェクトを指し、そのメソッドやプロパティにアクセスするために使用され、コンストラクターでよく使用されます。スーパーは、親クラスのメソッドを呼び出したり、そのプロパティにアクセスしたりするために使用され、よく使用されます。親クラスのメソッドをオーバーライドするか、オーバーライドされていないプロパティにアクセスします。

Javaのthisとsuperの違い

#Java における this と super の違い

This と super は両方とも Java のキーワードです。クラスのメソッドとプロパティにアクセスするために使用されます。

#this

    this
  • キーワードは、現在のオブジェクトを参照するために使用されます。 オブジェクト名を明示的に指定せずに、現在のオブジェクトのメソッドとプロパティにアクセスできるようになります。
  • は、オブジェクトの状態を初期化するためにコンストラクターでよく使用されます。
  • #super

super
    キーワードは、親クラスを参照するために使用されます。
  • これにより、親クラスのメソッドを呼び出し、親クラスのプロパティにアクセスできるようになります。
  • は、親クラスのメソッドをオーバーライドしたり、サブクラスによってオーバーライドされない親クラスのプロパティにアクセスしたりするためによく使用されます。
  • 主な違い

特徴thissuper目的現在のオブジェクトの参照親クラスの参照スコープ現在のクラス親クラス構文this.propertyName/methodNamesuper.propertyName/methodName Initializationコンストラクターでオブジェクトの状態を初期化します#親クラスのコンストラクターにアクセスしますOverride メソッドは親クラスのメソッドをオーバーライドするために使用できません親クラスのメソッドをオーバーライドするために使用できます例

<code class="java">class Parent {
    public void printName() {
        System.out.println("Parent");
    }
}

class Child extends Parent {
    @Override
    public void printName() {
        System.out.println("Child");
    }

    public void callSuper() {
        super.printName(); // 调用父类的方法
    }
}</code>
出力:

<code>Child
Parent</code>

以上がJavaのthisとsuperの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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