Android の View のような抽象クラスがあります。それを拡張してさまざまなものを描画する多くのクラスを作成します。ここで、色が一致するように、これらすべてのクラスで同じ Paints を共有したいと考えています。
私の考えは
いくつかのコンテキストまたはウィンドウメトリックをすべてのコンストラクターに渡しますが、必要なのは一度だけなのでばかげています。
抽象クラスに静的メソッド init() を追加することもできますが、パブリックな静的メソッドは避けようとしています。
スーパークラスの静的メンバーを設定し、最後にそれらをnullにするという単一の目的を持つサブクラスを作成します。これは、スーパークラスの静的なものへのリモートコントロールのようなものです。
どのようなリスクがあるのか 、それを行うためのさらに簡単な方法があるかどうかはわかりません.
編集:静的メンバーを初期化するには、コンテキストが必要です(Androidに慣れていない人向け)。そのコンテキストをそのクラスに渡す必要があるため、静的ブロックなどに初期化はありません