#java は this キーワードを提供します。このキーワードは常にメソッドを呼び出すオブジェクトを指します。これが表示される場所に応じて、これがオブジェクトへのデフォルト参照として機能する 2 つの状況があります。 (推奨学習: java コース )
a), コンストラクターは、コンストラクターによって初期化されるオブジェクトを参照します。 (これは常に、コンストラクターによって初期化されるオブジェクトを指します。たとえば、ローカル変数とグローバル変数が同じ名前を持つ場合、これは常にコンストラクターのローカル変数を指します)。
b), メソッド内でメソッドを呼び出すオブジェクトを参照します。
このキーワードの最大の機能は、クラス内のメソッドがそのクラスの別のメソッドまたはインスタンス変数にアクセスできるようにすることです。 (Java では、オブジェクトの 1 つのメンバーが別のメンバーを直接呼び出すことができ、this プレフィックスを省略できます。ほとんどの場合、メソッドがクラスで定義されている他のメソッドやメンバー変数にアクセスするときに、this プレフィックスを追加するかどうかの影響はありません。全く同じです)。
これは任意のオブジェクトを表すことができます。これがメソッド本体に出現する場合、それが表すオブジェクトは不確かですが、その型は決定されます。それが表すオブジェクトは現在のクラスのみです。このメソッドが呼び出された場合にのみ、それが表すオブジェクトが決定されます。誰がこのメソッドを呼び出しているか、これは誰を表します。
静的に変更されたメソッドの場合、クラスを使用してメソッドを直接呼び出すことができます。静的に変更されたメソッドで this キーワードが使用される場合、このキーワードは適切なオブジェクトを指すことはできません。
したがって、この参照は静的に変更されたメソッドでは使用できません。静的変更されたメソッドはこの参照を使用できないため、静的変更されたメソッドは静的変更されていない通常のメンバーにアクセスできません。したがって、Java 文法では、静的メンバーが非静的メンバーに直接アクセスできないと規定されています。
rree以上がJavaでこれを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。