为什么不可能创建扩展OnTouchListener的类

时间:2012-02-08 17:18:47

标签: java android oop

Android SDK在TouchEvent中有一个界面。 (android.view.View.OnTouchListener) 我不知道为什么以下行失败了。 (以及OnTouchListener上的Eclipse通知错误)

public class TouchHandler extends OnTouchListener{

如果改为:

,它会起作用
public interface TouchHandler extends OnTouchListener{

这意味着我无法创建扩展OnTouchListener的类。有人能解释一下原因吗?

谢谢:)

5 个答案:

答案 0 :(得分:7)

而不是

public class TouchHandler extends OnTouchListener{

使用工具

public class TouchHandler implements OnTouchListener{

答案 1 :(得分:3)

您应该使用TouchHandler实现OnTouchListener

只有在定义接口时才能扩展接口(即:扩展合同) 实现接口是java方法,让类为接口的方法提供代码。 (即:定义合同的处理方式)

答案 2 :(得分:1)

使用

public class TouchHandler implements OnTouchListener{   

这是Java与interface一起玩的方式。通过这个link,它将帮助您清除您的困惑 几点可以清楚你的困惑 1. class应该/可以实施interface 2. interface可以扩展其他interface

答案 3 :(得分:1)

OnTouchListener 是一个接口,因此应该实现,而不是扩展。 您希望实施 OnTouchListener ,并说:

public class TouchHandler implements OnTouchListener{}

答案 4 :(得分:0)

只有interface可以扩展其他接口

public interface B {}
public interface C extends B {}

如果您想为您的班级使用interface,请使用implements

public class A implements C {}