请问以下两段代码中都实现了View.OnClickListener(),但View.OnClickListener()是接口就需要通过implements 来实现呀,而1段代码中相当于直接实现了一个接口啊,请高人指教
//------------------------------------------------------------------------
1:
btn_ok.setOnClickListener(OKClickListener);
View.OnClickListener OKClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub  

}
};
//-------------------------------------------------------------------------
2:
btn_ok.setOnClickListener(new btn_listener);
class btn_listener implements View.OnClickListener  
{  
   public void onClick(View v) {  
    // TODO Auto-generated method stub  
   }  
}  

解决方案 »

  1.   

    implements是一个类实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。
    还有几点需要注意:
    (1)接口可以被多重implements,抽象类只能被单一extends
    (2)接口只有定义,抽象类可以有定义和实现
    (3)接口的字段定义默认为:public static final, 抽象类字段默认是"friendly"(本包可见)
    你的第一种方法是直接实现了
      

  2.   

    没有实现呢还, onClick函数里的逻辑不就是你需要写的代码吗? 你想点击这个button后有什么反应, 只有你知道, 你去实现。