次のチュートリアルのポイント 4 (このキーワードの使用法) をお読みください。
http://www.javatpoint.com/this-keyword
How はthis
メソッドの正式な引数にすることができます。
コンストラクターの場合、コンストラクターが - Const(OBJECT obj) のようなものであれば、コンストラクターthis
を呼び出すためだけに を渡すことができます。
this
メソッドで実引数として渡すと便利なシナリオは何ですか?
次のチュートリアルのポイント 4 (このキーワードの使用法) をお読みください。
http://www.javatpoint.com/this-keyword
How はthis
メソッドの正式な引数にすることができます。
コンストラクターの場合、コンストラクターが - Const(OBJECT obj) のようなものであれば、コンストラクターthis
を呼び出すためだけに を渡すことができます。
this
メソッドで実引数として渡すと便利なシナリオは何ですか?
コンストラクターから this を呼び出して、他のコンストラクターへの呼び出しを与えることができます (例: this() の呼び出しに基づいて: デフォルト コンストラクターを呼び出しています。this(param) は、パラメーター化されたコンストラクターを呼び出しています。これはパラメーターとして、最終的には、これです。 current object を指しているので、 current object をパラメータとして任意のメソッドに渡したいところは、これを渡してください。
this
、他の人がすでに指摘しているように、現在のオブジェクトを参照し、それ自体への参照を渡すために使用されます。うまくいけばこれを明確にする例を示したいだけです。通常これを行うシナリオの 1 つは、イベント処理または通知です。
があり、が追加または削除されるたびEntityManager
に を起動したいとします。add/remove メソッドに次のものを含めることができます。UpdateEvent
Entity
public class EntityManager implements ApplicationEventPublisher {
Set<Entity> entities = new HashSet<Entity>();
public void addEntity (Entity e) {
entities.add (e);
publishEvent (new UpdateEvent (this, UpdateType.ADD, e));
}
public void removeEntity (Entity e) {
if (entities.contains (e)) {
entities.remove (e);
publishEvent (new UpdateEvent (this, UpdateType.REMOVE, e));
}
}
protected void publishEvent (Event e) {
// handles the nitty-gritty of processing events
}
}
wherethis
は、オブジェクト自体であるイベント ソースを参照します。
そのため、EntityManager
は の一部として渡されたEvent
ため、通知の受信者は後でEvent.getSource()
メソッド呼び出しなどによってアクセスできました。