まず、次のスーパー キーワードとこのキーワードを紹介します。
(推奨チュートリアル: 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 サイトの他の関連記事を参照してください。