如果McClickListener是Android中的一个接口,我们如何基于它创建一个对象?
我使用的代码如下: 现在它说: 通过实现如果McClickListener是Android中的一个接口,我们如何基于它创建一个对象?,android,Android,我使用的代码如下: 现在它说: 通过实现AdapterView.OnItemClickListener界面,您可以响应AdapterView中每个项目上的单击事件 如果OnItemClickListener()是一个接口,那么我们如何创建上面代码中的对象?这背后的概念是什么?我不太确定是否理解您的问题,但在您上面的示例中,mMessageClickedHandler是对象,该对象实现了OnItemClickListener.onItemClick方法。如果你来自C++世界,你需要实现一个 OnC
AdapterView.OnItemClickListener
界面,您可以响应AdapterView
中每个项目上的单击事件
如果
OnItemClickListener()
是一个接口,那么我们如何创建上面代码中的对象?这背后的概念是什么?我不太确定是否理解您的问题,但在您上面的示例中,mMessageClickedHandler
是对象,该对象实现了OnItemClickListener.onItemClick
方法。如果你来自C++世界,你需要实现一个<代码> OnCLICKistList[< /Code >子类或类似的]作为一个单独的实体,但是在爪哇中,如上所述,可以在内联代码中创建一个匿名子类(我希望这是正确的指定!)。
我个人并不喜欢这种技术,但它是一种非常常见的Java习惯用法,我只是随波逐流 不能为接口创建对象。匿名内部类允许您执行以下操作:
public interface MyInterface {
public void myMethod() ;
}
MyInterface myIntfObj = new MyInterface() {
public void myMethod() {
}
};
myIntfObj.myMethod();
您应该真正了解一下java编程语言。我认为这是一个令人满意的答案。。在这里,我们为接口创建了一个内部类(java中允许),这个类是作为一个匿名类创建的,所以基本上它是一个定义接口方法的新类..是的。。隐式实现该接口的“内部类”,为接口提供抽象定义……)
public interface MyInterface {
public void myMethod() ;
}
MyInterface myIntfObj = new MyInterface() {
public void myMethod() {
}
};
myIntfObj.myMethod();