Java のクラス内で "this" を使用する場合
Java の "this" キーワードは、操作されている現在のオブジェクトを参照します。一見シンプルに見えますが、初心者にとってその使用法は特に複雑になる可能性があります。この記事は、クラス内で "this" を効果的に使用する時期と理由を明確にすることを目的としています。
Setter での変数参照の曖昧さの解消
Setter メソッドでは、対応する変数と同じ名前の変数がよく見られます。プライベートメンバー変数。これらの変数を区別し、インスタンス変数「this.」にパラメータ値を代入するには、次のようにします。
public class Foo { private String name; public void setName(String name) { this.name = name; // Assigns the parameter "name" to the instance variable "name" } }
現在のインスタンスを引数として渡す
現在のクラスのインスタンスを引数として他のオブジェクトのメソッドに渡す場合、「this」が必須となります。
public class Foo { public String useBarMethod() { Bar theBar = new Bar(); return theBar.barMethod(this); } } public class Bar { public void barMethod(Foo obj) { obj.getName(); // Calls the getName() method of the passed Foo instance } }
コンストラクター内での代替コンストラクターの呼び出し
複数のコンストラクターが存在する場合クラスの場合、「this(...)」を使用して、コンストラクター内から代替コンストラクターを呼び出すことができます。ただし、これはコンストラクターの最初のステートメントである必要があります。
class Foo { public Foo() { this("Some default value for bar"); } public Foo(String bar) { // Do something with bar } }
追加の使用例
これら 3 つの主要なシナリオは「this」の最も一般的な使用法を表していますが、追加の使用法もいくつかあります。使用できるインスタンス:
- 明確化されていない場合でも、インスタンス変数を明示的に参照するには必要です。
- 特にオーバーロードされたメソッドが存在する場合、クラス内のメソッド呼び出しを明確にするため。
以上がJava クラスで「this」を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

jvmhasacloserelationshiptheosasittrantesjavabytecodecodecodecodecodecodecodecodecodecodecodecodecodetructions、manageSmemory、およびhandlesgarbagecollection.thisrelationshipallowsjavatorunonvariousosenvirnments、Butalsedentsはspeedifediferentjvmbeviorhiorsandosendisfredediferentjvmbehbehioorysando

Javaの実装「Write and、Run Everywherewhere」はBytecodeにコンパイルされ、Java仮想マシン(JVM)で実行されます。 1)Javaコードを書き、それをByteCodeにコンパイルします。 2)JVMがインストールされたプラットフォームでByteCodeが実行されます。 3)Javaネイティブインターフェイス(JNI)を使用して、プラットフォーム固有の機能を処理します。 JVMの一貫性やプラットフォーム固有のライブラリの使用などの課題にもかかわらず、Woraは開発効率と展開の柔軟性を大幅に向上させます。

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

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