Java:動的に参照されるクラスの静的プロパティにアクセスするには? は、私は簡単な例を与えている:私は単に動的、静的プロパティのクラスを参照したいJava:動的に参照されるクラスの静的プロパティにアクセスするには?
AppleTree.areTheyAllGrown=true;
「をareTheyAllGrown」この静的プロパティはAppleTreeのメンバーになることができたり、他のクラスのメンバーである可能性があるのcourceは同じ名前付き静的プロパティ 'areTheyAllGrown'も持ちます。
CherryTree、ApricotTreeなどの他の多くのツリータイプが必要なアプリケーションロジックであれば、AppleTreeの 'areTheyAllGrown'を設定することで、TreeBehaviourインターフェイスが十分でないということを意味します。マークは、私のAppleTreeのインスタンスだけで、すべてのTreeインスタンスではありません。見る?
あなたはこう言っています:AppleTreeImplインターフェイスを作ってそこにプロパティを置くと...それは、インターフェイスの地獄を強制し、1つのプロパティに対してのみ作成する... Implの異なるツリータイプのインターフェイスですか?もっと短い解決策はありませんか?
もちろん私はすべてのものを実装し、クラスへの動的参照の必要性を回避するために多くの他の方法を見ていますが、私はこのメソッドで特にそれを行うことができます。また、インターフェイスや追加のヘルパークラス、Treeクラス以外のパブリックプロパティの過剰な使用もありません。
は(。誰もが反射を示唆している場合、私は非常にクロスしなければならない) –
まあ、反射は、彼が説明したものを行うための唯一の方法です。確かに他のことをすることは良い考えです。私は 'Map、Boolean> '(実際にはSet)を拡張します。 –
maaartinus
@トムハハ、非常に面白い。このようなシナリオでは、他に何を提案しますか? –