-1

私はアンドロイド開発に不慣れです。いくつかのコードを調べたところ、次のコード行が見つかりました。

class Preview extends SurfaceView implements SurfaceHolder.Callback {
}

ここで特に実装で実際に何が起こっているのか、誰かが説明したり、ヒントをくれたりできますかSurfaceHolder.Callback?

ありがとう

4

3 に答える 3

1

Java ではimplements SurfaceHolder.Callback、実装して"Interface" SurfaceHolder.Callbackいることを意味します。インターフェイスを実装する場合は、インターフェイス内のすべてのメソッドを定義する必要があることを意味します。SurfaceHolder.Callback実装するように自動的に求められます"ALL abstract method"

于 2013-04-04T12:12:02.207 に答える
1

Java の「implements」キーワードでは、定義されるクラスに、指定された Interface クラスで定義されたすべてのメソッド シグネチャの宣言と定義も含まれている必要があります。

提供されている例では、SurfaceHolder.Callback はインターフェイスであり、メソッドのセットを宣言しています。したがって、新しいクラスである Preview も、定義上、同じメソッドを宣言します。ほとんどの場合、メソッドは既に Interface クラスの一部として定義されていますが、必ずしもそうである必要はありません。プログラマーは必要に応じてこれらのメソッドをオーバーライドできますが、Preview クラスのユーザーは、他に何も知らなくても、オブジェクトを SurfaceHolder.Callback オブジェクトとして参照または操作するだけで、より汎用的で再利用可能なコードを記述できます。

于 2013-04-04T12:17:19.417 に答える
0

クラスimplementsがインターフェイスの場合、そのクラスのインスタンス (この場合は ) には、インターフェイス ( ) が公開するPreviewメソッドの定義が強制的に含まれることを意味します。SurfaceHolder.Callback

Previewまた、インターフェイス型 ( ) の式が必要な場合は、クラス ( ) またはそのサブクラスのインスタンスを返す任意の式を使用できることも意味しますSurfaceHolder.Callback

于 2013-04-04T12:15:05.427 に答える