最近、多くの OOP デザイン パターンに目を通しましたが、今まで見たことのない奇妙なものに出くわしました。
Button button = new Button(shell, SWT.PUSH);
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
// Handle the selection event
System.out.println("Called!");
}
});
具体的には、これは何をしますか (たとえば、「new」キーワードはここで何をしますか?):
button.addSelectionListener(new SelectionAdapter() {
2 番目の質問:
private void notifyListeners(Object object, String property, String oldValue, String newValue) {
for (PropertyChangeListener name : listener) {
name.propertyChange(new PropertyChangeEvent(this, "firstName", oldValue, newValue));
}
}
これは、オブザーバー デザイン パターンの抜粋です。私の新しい理解では、name.propertyChange(...) は PropertyChangeEvent のオブジェクトを作成し、Java のオブザーバー パターンの実装を通じて、この新しいオブジェクトの情報をオブザーバー (またはこれに非常に類似したもの) に送信することで、オブザーバーに自動的に通知します。これは正しいです?