這段時間在看android,看到了java里面的匿名內(nèi)部類,在印象當(dāng)中.net里面不支持匿名內(nèi)部類。
匿名類是不能有名稱的類,所以沒辦法引用它們。必須在創(chuàng)建時,作為new語句的一部分來聲明它們。這就要采用另一種形式的new語句,如下所示:
new <類或接口> <類的主體>
這種形式的new語句聲明一個新的匿名類,它對一個給定的類進行擴展,或者實現(xiàn)一個給定的接口。它還創(chuàng)建那個類的一個新實例,并把它作為語句的結(jié)果而返回。要擴展的類和要實現(xiàn)的接口是new語句的操作數(shù),后跟匿名類的主體。如果匿名類對另一個類進行擴展,它的主體可以訪問類的成員、覆蓋它的方法等等,這和其他任何標(biāo)準(zhǔn)的類都是一樣的。如果匿名類實現(xiàn)了一個接口,它的主體必須實現(xiàn)接口的方法。
如:
pr也可以是一個類但是你外部調(diào)用的方法必須在你的這個類或接口中聲明外部不能調(diào)用匿名類內(nèi)部的方法
摘自:http://blog.sina.com.cn/s/blog_62ea4cf40100mubj.html
android中點擊事件
Button btn=(Button)this.findViewById(R.id.button1);
btn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
new 是建立一個 Button.OnClickListener對象 ,后面一個 {}
表示這個括號中的操作作用于這個默認(rèn)的對名象,而上面的Java程序中后面是一個函數(shù)體。
這個用法的作用是:創(chuàng)建一個對象的實例,并且 override
它的一個函數(shù)。它是對 OnClickListener
接口的一個實現(xiàn)。
android多線程中
private Runnable mRunnable = new Runnable()
{
@Override
public void run() {
// TODO Auto-generated method stub
try
{
Thread.sleep(5000);
mHandler.sendMessage(mHandler.obtainMessage());
}
catch(InterruptedException e)
{
}
}
};
public Handler mHandler = new Handler()
{
public void handleMessage(Message msg)
{
super.handleMessage(msg);
Reflesh();
}
};
新聞熱點
疑難解答
圖片精選