Javaでインターフェイスを実装する場合、呼び出し元が指定した具体的な実装を見たり、そのクラスにキャストしたり、インターフェイスにないメソッドを呼び出したりすることはありません。私はこれが "悪意のあるダウンキャスティング"と信じています。「悪意のあるダウンキャスト」を防ぐラッパーの自動生成?
これを防ぐには、インターフェイスのメソッドのみを持つラッパーを作成し、それがデリゲートする実装インスタンスを公開しないようにします。あなたが安全でなければならない私的な変数への反映の欠如。
これらの種類のラッパーを自動的に作成する方法はありますか(IDEでコード作成ウィザードを使用しないで、実行時に、それでもソースファイルを作成する必要があります)。
編集者Chris Jester-Youngに感謝します。コメントをアップアップすることができるようになりましたので、私は編集をupvoteしたいと思います... – Thilo
あなたの賛辞をありがとう!とても有難い。 –