1.接口
1.1 接口的定義
定義接口的關(guān)鍵字:interface
格式:
public interface 接口名? extends 接口,... {
? ? ?//定義常量(常量名要全部大寫)
public static final 數(shù)據(jù)類型? 常量名? = ? ? 值;
? ? ? //定義抽象方法
public abstract 返回值類型 方法名(數(shù)據(jù)類型? 參數(shù)名,...);
}
1.2 接口也是一種類俐芯,只是比較特殊花墩。
注意:① 接口是不能實例化對象的深纲;
② 接口中只有一個訪問修飾符public;
③ 接口會默認提供 ?public裸违、static、final本昏、abstract關(guān)鍵字供汛。
1.3 類實現(xiàn)(繼承)接口的格式
類實現(xiàn)(繼承)接口的關(guān)鍵字:implements
格式:
public class 類名 extends 類名? implements 接口,... {
}
注意:類必須要實現(xiàn)(重寫)接口中所有的(接口的父接口中的抽象方法)抽象方法。
1.4 接口的作用:
類只能繼承一個父類涌穆;接口的作用就是用來豐富類的繼承關(guān)系怔昨。
1.5 接口和類的區(qū)別:
① 接口不能實例化,接口沒有構(gòu)造函數(shù)宿稀,類有構(gòu)造函數(shù)趁舀;
② 接口的成員沒有任何修飾符,其成員總是公共的原叮,而類的成員則可以有修飾符赫编;
③ 派生于接口的類必須實現(xiàn)接口中所有成員的執(zhí)行方式,而從類派生則不需要奋隶。
2.事件監(jiān)聽機制
2.1 事件源對象
只有兩種:容器組件和元素組件擂送。
如何確定界面上誰是事件源對象?——動作發(fā)生在哪一個組件上唯欣,那么該組件就是事件源對象嘹吨。
2.2 事件監(jiān)聽方法
用來監(jiān)聽事件源對象上是否有對應(yīng)的動作發(fā)生,如果有事件監(jiān)聽方法就會捕獲這個動作境氢,并交給對應(yīng)的事件接口(事件處理類)的對象進行處理蟀拷。
① addActionListener(ActionListener l);
捕獲類似按鈕組件上的鼠標(biāo)點擊動作和類似輸入框組件上鍵盤回車動作。
② addMouseListener(MouseListener l);
捕獲事件源對象上鼠標(biāo)的進入萍聊,離開问芬,按下,釋放和點擊動作寿桨,根據(jù)動作去調(diào)用
MouseListener中對應(yīng)的事件處理方法此衅。
③ addMouseMotionListener(MouseMotionListener l);
捕獲事件源對象上鼠標(biāo)的移動和拖動動作强戴,根據(jù)動作去調(diào)用MouseMotionListener中
對應(yīng)的事件處理方法。
④ addKeyListener(KeyListener l);
捕獲事件源對象上鍵盤的按下挡鞍,釋放和敲擊動作骑歹,根據(jù)動作去調(diào)用KeyListener中
對應(yīng)的事件處理方法。
2.3 事件接口(事件處理類)
根據(jù)在事件源對象發(fā)生的動作墨微,使用事件接口(事件處理類)進行處理道媚,事件接口(事件處理類)的
對象會根據(jù)動作調(diào)用對應(yīng)的方法,執(zhí)行方法中的代碼完成處理操作翘县。
① ActionListener
動作事件接口最域,只有一個方法,不管是鍵盤回車還是鼠標(biāo)點擊都由同一個方法進行處理炼蹦。
② MouseListener
?鼠標(biāo)事件接口羡宙,有5個方法分別是用來處理進入、離開掐隐、按下狗热、釋放和點擊動作
③ MouseMotionListener
?鼠標(biāo)移動事件接口,有2個方法分別是用來處理移動和拖動動作
④ KeyListener
?鍵盤事件接口虑省,有3個方法分別是用來處理按下匿刮,釋放和敲擊動作