接口、抽象類和事件監(jiān)聽機制

1.接口

1.1接口的定義

定義接口的關鍵字:interface

定義接口的格式:

public interface 接口名? extends 接口,... {

//定義常量(常量名Java的命名規(guī)則要求是每一個字母都要大寫)

public static final 數據類型 常量名 = 值;

//定義抽象方法

public abstract 返回值類型? 方法名(數據類型 參數名,...);

}


1.2接口與類的區(qū)別:

1) 接口中只能定義抽象方法,這些方法默認為 public abstract 的,因而在聲明方法時可以省略這些修飾符。試圖在接口中定義實例變量、非抽象的實例方法及靜態(tài)方法,都是非法的。

2) 接口中沒有構造方法,不能被實例化。

3) 一個接口不實現另一個接口,但可以繼承多個其他接口。接口的多繼承特點彌補了類的單繼承。

4)接口只有一種訪問修飾符就是public,默認提供的關鍵字是public、static、final、abstract。


1.3接口的作用:

1. 需要實現多態(tài)

2. 要實現的方法(功能)不是當前類族的必要(屬性).

3. 要為不同類族的多個類實現同樣的方法(功能).

2.抽象類

抽象類的定義

定義抽象的關鍵字abstract class

public abstract class Shape {

//可以定義類所有的內容

//可以定義接口中所有的內容

}

抽象類當做是接口和類的集合。

抽象類不能實例化對象。

3.事件監(jiān)聽機制

1.事件源對象:接收動作的組件對象

有哪些可以成為事件源對象?? 所有的容器組件和元素組件

界面上會有很多的組件,那么如何確定誰是事件源對象?

根據你的動作來決定,你的動作發(fā)生在哪一個組件上,那么該組件就是事件源對象。

2.事件監(jiān)聽方法:監(jiān)聽事件源對象上是否有動作發(fā)生

addActionListener(ActionListener l);

監(jiān)聽類似按鈕組件上是否有鼠標點擊動作的方法或者是監(jiān)聽類似輸入框組件上是否

有鍵盤的回車動作的方法,如果有,則捕獲動作以及相關的信息,交給

ActionLIstener參數對象進行處理。

addKeyListener(KeyListener l);

監(jiān)聽事件源對象上是否有鍵盤按鍵按下,釋放和敲擊動作,如果有則

捕獲動作以及相關的信息,交給KeyListener參數對象進行處理。

addMouseListener(MouseListener l);

監(jiān)聽事件源對象上是否有鼠標的進入、按下、釋放、點擊和離開動作,如果有則

捕獲動作以及相關的信息,交給MouseListener參數對象進行處理。

addMouseMotionListener(MouseMotionListener l);

監(jiān)聽事件源對象上是否有鼠標的移動和拖動動作,如果有則

捕獲動作以及相關的信息,交給MouseMotionListener參數對象進行處理。

addFocusListener(FocusListener l);

監(jiān)聽事件源對象上是否有組件獲得或失去鍵盤焦點動作,如果有則

捕獲動作以及相關的信息,交給FocusListener參數對象進行處理。

addChangeListener(ChangeListener l);

addPopupMenuListener(PopupMenuListener l);

3.事件接口(事件處理類):事件監(jiān)聽方法就會將動作交給事件處理類來來處理

ActionListener 處理按鈕的點擊動作和輸入框的回車動作

KeyListener 處理鍵盤按鍵按下,釋放和敲擊動作

MouseListener 處理鼠標按下、釋放、點擊、進入和離開動作

MouseMotionListener 處理鼠標移動和拖動動作

FocusListener 處理獲取焦點和失去焦點的動作

ChangeListener 處理組件狀態(tài)改變的動作

PopupMenuListener 處理彈出菜單可見、不可見、取消的動作

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,728評論 18 399
  • 面向對象主要針對面向過程。 面向過程的基本單元是函數。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,220評論 0 4
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,428評論 0 2
  • 最近在網盤里找到幾篇舊文,整個上半年在忙碌的工作和學習中匆匆地過去了,只顧著向前沖,卻沒有足夠的機會反思。現在想貼...
    Aya小喵閱讀 6,794評論 0 8

友情鏈接更多精彩內容