1.2.5 匿名內(nèi)部類
如下所示代碼為定義一個(gè)匿名內(nèi)部類:匿名內(nèi)部類通常用在Java的事件處理上
import java.applet.*;
import java.awt.event.*;
public class AnonymousInnerClassDemo extends Applet{
public void init(){
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent me){
showStatus("Mouse Pressed!");
}
})
}
public void showStatus(String str){
System.out.println(str);
}
}
在 上面的例子中,方法addMouseListener接受一個(gè)對(duì)象型的參數(shù)表達(dá)式,于是,在參數(shù)里,我們定義了一個(gè)匿名內(nèi)部類這個(gè)類是一個(gè) MouseAdapter類型的類,同時(shí)在這個(gè)類中定義了一個(gè)繼承的方法mousePressed,整個(gè)類做為一個(gè)參數(shù)。這個(gè)類沒有名稱,但是當(dāng)執(zhí)行這個(gè) 表達(dá)式時(shí)它被自動(dòng)實(shí)例化。同時(shí)因?yàn),這個(gè)匿名內(nèi)部類是定義在AnonymousInnerClassDemo 類內(nèi)部的,所以它可以訪問它的方法 showStatus。這同前面的內(nèi)部類是一致的。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)Java經(jīng)典算法大全匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |