ホームページ > Java > &#&チュートリアル > Java のキーワード super と this は何ですか?違いは何ですか?

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

青灯夜游
リリース: 2018-11-21 14:13:07
オリジナル
5754 人が閲覧しました

この記事の内容は、Java キーワード super と this? を紹介することです。違いは何ですか? 、キーワード super と this の役割、キーワード super と this の違い、superL() と this() の簡単な紹介を全員に理解してもらいます。困っている友人は参考にしていただければ幸いです。

スーパーとこれというキーワードは何ですか?違いは何ですか?

このキーワード

これは Java の予約キーワードです。つまり、識別子として使用できません。

this: 現在のオブジェクトを表します。これにより、現在のクラスのメソッド/プロパティ (独自のプライベート メソッド/プロパティを含む) へのアクセスが可能になります。

簡単に言えば、現在のクラスのすべてのプロパティとメソッドにアクセスして操作できるほか、アクセス修飾子によって許可される親クラスから継承されたプロパティとメソッドにもアクセスして操作できます。

例:

class RR { 
	int a = 10; 
	static int b = 20; 

	void GFG() { 
		this.a = 100; 
		this.b = 600; 
		System.out.println(a); 
		System.out.println(b); 
	} 

	public static void main(String[] args) { 
		new RR().GFG(); 
	} 
}
ログイン後にコピー

実行結果:

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

注: これは、クラス static の非静的メソッドでのみ使用できます。メソッドと This は静的コード ブロック内に現れてはなりません。

super キーワード

Super は Java の予約キーワードです。つまり、識別子として使用できません。

super は、現在のオブジェクト クラスの親クラス オブジェクト部分を表し、シールドされたメンバー変数およびメンバー メソッドを参照するために使用されます。パブリック (保護された) メソッドまたはプロパティへのアクセスは許可されますが、親のプライベート メソッドまたはプロパティへのアクセスは許可されません。

super は、このクラスのプロパティとメソッドを操作できません。親クラスのアクセス修飾子によって許可されている親クラスのプロパティとメソッドを操作できます。また、効果が適用される前にのみ使用できます。オーバーライドはこのクラスで呼び出されます。

スーパーを使用する目的は、直接の親クラス (つまり、そのクラスの上に最も近いスーパークラス) 内のブロックされたメンバーにアクセスすることです。

例:

class Parent { 
	// instance variable 
	int a = 10; 

	// static variable 
	static int b = 20; 
} 
class Base extends Parent { 
	void rr() { 
		System.out.println(super.a); 
		System.out.println(super.b); 
	} 

	public static void main(String[] args) { 
		new Base().rr(); 
	} 
}
ログイン後にコピー

実行出力:

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

#相違点の概要:

このキーワード: 現在のオブジェクト、つまり現在のクラス メンバー (変数とメソッド) を呼び出す現在のクラス オブジェクトを表します。

super キーワード: メンバー (変数とメソッド) を呼び出す、現在のクラスの親クラスを表します。 ) の親クラス ;

これの使用範囲は super..

this() と super() の簡単な紹介

1. This() と super() は両方とも使用され、のみ使用できます。コンストラクター メソッド

2 では、this() がこのクラスのコンストラクターを呼び出します。括弧内に仮パラメーターがある場合は、対応するパラメーターを持つこのクラスのコンストラクターが呼び出されます。親クラスで指定されたコンストラクター メソッド

3 は、コンストラクター メソッドの最初の文にのみ記述できます。super() を記述する必要はありません。記述されていない場合は、デフォルトで親クラスの super() メソッドが呼び出されます。 パラメータ構築

5. this() と super() は共存できず、どちらか 1 つだけを使用できます。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。その他の関連ビデオチュートリアルの推奨事項:

java チュートリアル

!

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート