首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

接口可以在实例化的时候被定义吗?该如何处理

2012-03-13 
接口可以在实例化的时候被定义吗?最近在学习android,在看GridView的代码是有下面一段代码:gridview.setOnI

接口可以在实例化的时候被定义吗?
最近在学习android,在看GridView的代码是有下面一段代码:

gridview.setOnItemClickListener(
  new OnItemClickListener() {
  public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
  Toast.makeText(HelloGridViewActivity.this, "" + position, Toast.LENGTH_SHORT).show();
  }
  }
);

这里接口OnItemClickListener在实例化的同时被定义,可以这么理解吗?

[解决办法]
用的是OnItemClickListener这个的实现类,java的多态,面向接口编程
[解决办法]
恩 2L 正解

 那这里就很好理解 匿名类实现OnItemClickListener 接口
[解决办法]
写的更明白点就是:
class MyListener implements OnItemClickListener{
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(HelloGridViewActivity.this, "" + position, Toast.LENGTH_SHORT).show();
}
}
OnItemClickListener myListener = new MyListener();
gridview.setOnItemClickListener(myListener);
这样就形成了多态,接口是你自己现实的;他最终还是OnItemClickListener;

热点排行