我是Android开发的新手,我已经完成了一些代码并找到了以下代码行:
class Preview extends SurfaceView implements SurfaceHolder.Callback {
}
有人可以解释或给我一些暗示这里真正发生的事情,特别是在工具SurfaceHolder.Callback
上吗?
感谢
答案 0 :(得分:1)
在Java中implements SurfaceHolder.Callback
表示您正在实现"Interface"
SurfaceHolder.Callback
。如果实现接口意味着您必须在接口SurfaceHolder.Callback
中定义所有方法。它会自动询问您实施"ALL abstract method"
。
答案 1 :(得分:1)
Java中的“implements”关键字要求所定义的类还包括在指定的Interface类中定义的所有方法签名的声明和定义。
在提供的示例中,SurfaceHolder.Callback是一个接口,并声明了一组方法。因此,根据定义,新类Preview也声明了相同的方法。在大多数情况下,这些方法已经被定义为Interface类的一部分,但不一定如此。程序员可以根据需要覆盖这些方法,但是Preview类的用户在不知道任何其他内容的情况下,可以通过简单地引用或与其对象作为SurfaceHolder.Callback对象来编写更通用且可重用的代码。
答案 2 :(得分:0)
当一个类implements
接口时,它意味着该类的实例(在您的情况下为Preview
)被强制包含接口(SurfaceHolder.Callback
)的方法的定义暴露。
这也意味着您可以使用任何返回类实例(Preview
)或其子类的表达式,只要需要接口类型(SurfaceHolder.Callback
)的表达式。