首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 事件機制:事件觸發 ≠ 物件建立,解析監聽器模式

     編輯:程式設計綜合問答

核心觀念

事件觸發 ≠ 物件實例化。事件是「發生在特定時間點的動作通知」,由**事件源**產生**事件物件**,傳遞給**監聽器**處理。

三要素

  1. 事件源:按鈕、視窗、感測器等 (Button、View)。
  2. 事件物件:封裝事件狀態 (ActionEvent、MotionEvent),**臨時建立**,用完即可回收。
  3. 監聽器:實作特定介面 (OnClickListener、Runnable) 的物件,**長期存在**,註冊於事件源。

流程

用戶點擊按鈕
    → 事件源建立 MotionEvent 物件 (封裝座標、時間、動作)
    → 遍歷已註冊監聽器列表
    → 呼叫 listener.onClick(view) / onTouch(view, event)
    → 事件物件生命週期結束

與普通物件差異

維度事件物件普通業務物件
生命週期極短 (單次分發)長 (應用存續期間)
用途傳遞瞬時狀態持有業務數據/邏輯
建立者框架/系統開發者 new
銷毀者GC 自動回收開發者控制/GC

結論

事件觸發不等於建立業務物件,事件物件是框架內部臨時載體,監聽器才是開發者編寫的長期元件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved