私はアンドロイド開発に不慣れです。いくつかのコードを調べたところ、次のコード行が見つかりました。
class Preview extends SurfaceView implements SurfaceHolder.Callback {
}
ここで特に実装で実際に何が起こっているのか、誰かが説明したり、ヒントをくれたりできますかSurfaceHolder.Callback
?
ありがとう
私はアンドロイド開発に不慣れです。いくつかのコードを調べたところ、次のコード行が見つかりました。
class Preview extends SurfaceView implements SurfaceHolder.Callback {
}
ここで特に実装で実際に何が起こっているのか、誰かが説明したり、ヒントをくれたりできますかSurfaceHolder.Callback
?
ありがとう
Java ではimplements SurfaceHolder.Callback
、実装して"Interface"
SurfaceHolder.Callback
いることを意味します。インターフェイスを実装する場合は、インターフェイス内のすべてのメソッドを定義する必要があることを意味します。SurfaceHolder.Callback
実装するように自動的に求められます"ALL abstract method"
。
Java の「implements」キーワードでは、定義されるクラスに、指定された Interface クラスで定義されたすべてのメソッド シグネチャの宣言と定義も含まれている必要があります。
提供されている例では、SurfaceHolder.Callback はインターフェイスであり、メソッドのセットを宣言しています。したがって、新しいクラスである Preview も、定義上、同じメソッドを宣言します。ほとんどの場合、メソッドは既に Interface クラスの一部として定義されていますが、必ずしもそうである必要はありません。プログラマーは必要に応じてこれらのメソッドをオーバーライドできますが、Preview クラスのユーザーは、他に何も知らなくても、オブジェクトを SurfaceHolder.Callback オブジェクトとして参照または操作するだけで、より汎用的で再利用可能なコードを記述できます。
クラスimplements
がインターフェイスの場合、そのクラスのインスタンス (この場合は ) には、インターフェイス ( ) が公開するPreview
メソッドの定義が強制的に含まれることを意味します。SurfaceHolder.Callback
Preview
また、インターフェイス型 ( ) の式が必要な場合は、クラス ( ) またはそのサブクラスのインスタンスを返す任意の式を使用できることも意味しますSurfaceHolder.Callback
。