-1

我是android开发的新手,我浏览了一些代码,发现了以下代码行:

class Preview extends SurfaceView implements SurfaceHolder.Callback {
}

有人可以解释或提示我这里真正发生的事情,尤其是在工具上SurfaceHolder.Callback吗?

谢谢

4

3 回答 3

1

在Javaimplements SurfaceHolder.Callback中意味着你正在实现"Interface" SurfaceHolder.Callback。如果你实现接口意味着你必须在接口内定义所有方法。SurfaceHolder.Callback它会自动要求你实现"ALL abstract method"

于 2013-04-04T12:12:02.207 回答
1

Java 中的“implements”关键字要求被定义的类还包括在指定接口类中定义的所有方法签名的声明和定义。

在提供的示例中,SurfaceHolder.Callback 是一个接口并声明了一些方法。因此,根据定义,新类 Preview 也声明了这些相同的方法。在大多数情况下,方法已经定义为接口类的一部分,但不一定如此。程序员可以在他们认为合适的时候重写这些方法,但是 Preview 类的用户在不了解其他任何内容的情况下,可以通过简单地将其对象作为 SurfaceHolder.Callback 对象引用或与之交互来编写更通用和可重用的代码。

于 2013-04-04T12:17:19.417 回答
0

当一个类implements是接口时,这意味着该类的实例(Preview在您的情况下)被迫包含接口(SurfaceHolder.Callback)公开的方法的定义。

这也意味着您可以使用任何返回类 ( Preview) 或其子类的实例的表达式,只要需要接口类型 ( SurfaceHolder.Callback) 的表达式。

于 2013-04-04T12:15:05.427 回答