ホームページ  >  記事  >  Java  >  Javaのsuperキーワードとthisキーワードの違いは何ですか

Javaのsuperキーワードとthisキーワードの違いは何ですか

王林
王林転載
2020-08-31 16:40:013030ブラウズ

Javaのsuperキーワードとthisキーワードの違いは何ですか

まず、次のスーパー キーワードとこのキーワードを紹介します。

(推奨チュートリアル: Java 入門チュートリアル )

1. このキーワード

これは、オブジェクト自体を表す独自のオブジェクトであり、オブジェクト自体へのポインタとして理解できます。

Java での this の使用法は、大きく 3 つのタイプに分類できます:

1. 通常の直接参照

this は、現在のオブジェクト自体を指すことと同等です。

2. 参加メンバーの名前は同じです。区別するためにこれを使用します。

3. このクラスのコンストラクターを参照します;

2.スーパー キーワード

super は、それ自体のスーパー (親) クラス オブジェクトへのポインターとして理解でき、このスーパー クラスは、それ自体に最も近い親クラスを参照します。

Super には次の用途もあります:

1. 通常の直接参照

これと同様に、super は現在のオブジェクトの親クラスを指す参照と同等です。したがって、super.xxx を使用して親クラスのメンバーを参照できます。

2. サブクラスのメンバー変数またはメソッドが親クラスのメンバー変数またはメソッドと同じ名前である場合、それらを区別するために super を使用します

(ビデオ チュートリアルの推奨事項: java コース)

相違点:

1. 異なる参照

1. スーパー: 現在のオブジェクト内の親オブジェクトへの参照です。

2. this: 現在のオブジェクトの参照を参照します

2. さまざまな呼び出し関数

1. super: 基本クラス内の特定のコンストラクターを呼び出します (コンストラクターの最初のステートメント)。

2. this: このクラスで形成された別のコンストラクターを呼び出します (コンストラクターの最初のステートメントである必要があります)

3. 異なる参照オブジェクト

1. super: を参照します。現在のオブジェクトの直接の親クラスのメンバー (直接の親クラスに隠されている親クラスのメンバー データまたは関数にアクセスするために使用されます。基本クラスと派生クラスは同じメンバー定義を持ちます)。形式: super.variable name super.Member関数のデータ名(実引数)。

2. this: 現在のオブジェクト名を表します (プログラム内で曖昧さが発生する可能性がある場合、これは現在のオブジェクトを示すために使用する必要があります。関数の形式がメンバー データと同じ名前である場合)クラス内で隠し要件にならないようにするために、この場合はこれを使用してメンバー変数名を指定する必要があります)。

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

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