Java でのこのキーワードの使用法: 1. このクラスの属性、つまりクラスのメンバー変数を呼び出します; 2. このクラスの他のメソッドを呼び出します; 3. このクラスの他のコンストラクターを呼び出します。呼び出されたときにコンストラクターの最初の行に配置する必要があります。
このキーワードには 3 つの主な用途があります。
これは、このクラスの属性 (クラスのメンバー変数) を呼び出します。
これはこのクラスの他のメソッドを呼び出します;
これはこのクラスの他のコンストラクターを呼び出します。呼び出しはコンストラクターの最初の行に置く必要があります。
メンバー変数の呼び出し
(推奨チュートリアル: java コース)
コードと組み合わせると、より具体的になります。次のコードを参照してください:
public class Student{ String name; private void SetName(String name){ this.name = name; } }
このコードでは、メンバー変数名とメンバー メソッド SetName (文字列名) を使用して、クラス Student が作成されます。メソッドはメンバーと同じです 変数は同じで、両方とも名前なので、ここで this キーワードを使用して、このクラスのメンバー変数を呼び出すことができます。その機能は次のように簡単に理解できます。 this キーワードは、このクラスのメンバー変数を呼び出すことです。
しかし、そのような単純な理解は正確ではありません。これは実際には、現在のクラス オブジェクトへの参照です。オブジェクトのメンバー変数には、このクラスによってインスタンス化されたオブジェクトへの参照を通じてアクセスされます。
注:
このキーワードは、クラスのメンバ変数およびメンバ関数にアクセスする際のアクセス権限制御の対象ではありません。プライベート メンバ変数を含む、このクラス内のすべてのメンバ変数およびメソッドにアクセスできます。 . とメソッド。このクラスの静的メンバーにも this 経由でアクセスできますが、静的メンバーはクラス名で直接アクセスできるため、これ経由でアクセスすると「静的フィールド ××× は a でアクセスする必要があります」という警告メッセージが表示されます。静的な方法」。これは、クラスの静的メンバー内または静的ブロック内では使用できません。
メンバー メソッドの呼び出し
次のコードを参照できます:
package Test; public class ThisTest { String name; private void setName(String name) { this.name = name; System.out.println("setName: " + this.name); } private void thisTest(String name) { this.setName(name); System.out.println("thisTest: " + this.name); } public static void main(String[] args) { ThisTest tt = new ThisTest(); tt.setName("Yida"); tt.thisTest("Jenny"); } }
このコードでは、最初に Test クラスが作成されます。このクラスは前のクラスと変わりません。メンバー メソッド thisTest() を除き、このメンバー メソッドでは、前のメンバー関数 setName() が this キーワードを通じて呼び出されます。プログラムの実行結果は次のとおりです:
setName: Yida setName: Jenny thisTest: Jenny
コンストラクターを呼び出す
Construction メソッドは、クラスのオブジェクトが new キーワードによって作成されるときに自動的に呼び出されます。プログラム内の他のメソッドのように、メソッド名 (つまりクラス名) によって呼び出すことはできません。ただし、クラスに複数のコンストラクターがある場合は、1 つのコンストラクターでこれ (paras...) を介して他のコンストラクターを呼び出すことができます。
this を使用して他のコンストラクターを呼び出すには、次の制約があります。
他のコンストラクターを呼び出すことができるのは、コンストラクター内で this を介してのみ可能であり、通常のメソッドで使用することはできません。
コンストラクターは this を通じて再帰的に呼び出すことはできません。つまり、コンストラクター内の this を通じてコンストラクター自体を直接的または間接的に呼び出すことはできません。
これを通じて他のコンストラクターを呼び出す場合は、コンストラクターの最初の行で実行する必要があります。
super 呼び出しは親クラスのコンストラクターもコンストラクターの最初の行で実行する必要があるため、this と super を介してコンストラクターを呼び出すことは、同じコンストラクター内で同時に使用できません。 1 つのコンストラクターで異なるコンストラクターを複数回呼び出すことはできません。
次のコードは、this キーワードによって再帰呼び出しが形成されるため、間違っています:
//错误的示例!!! class test { test() { this(1); } test(int a){ this(); } tes int b) { this(1, 2); } }
正しい使用法は次のとおりです:
public class Student { //定义一个类,类的名字为student。 public Student() { //定义一个方法,名字与类相同故为构造方法 this(“Hello!”); } public Student(String name) { //定义一个带形式参数的构造方法 } }
オブジェクトの値を返す
このキーワードは、変数またはメンバー メソッドの参照に加えて、クラスへの参照を返すという重要な役割もあります。たとえば、コード内で return this を使用して、特定のクラスへの参照を返すことができます。このとき、thisキーワードはクラス名を表します。コードが上記の学生クラスにある場合、コードは帰国生を表します。 this キーワードは、変数やメンバーメソッドの参照以外にも、クラスの戻り値としても使用できることがわかりますが、これが this キーワードの最も注目すべき部分です。
関連する推奨事項:Java の使用を開始する
以上がJavaでのこのキーワードの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









