当前位置: 代码迷 >> Java Web开发 >> 接口可以在实例化的时候被定义吗?该如何处理
  详细解决方案

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

热度:72   发布时间:2016-04-17 10:56:48.0
接口可以在实例化的时候被定义吗?
最近在学习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;
  相关解决方案