私はクラスTreeNode、LeafNode拡張TreeNodeするクラスParentNode、拡張するクラスを持ってTreeNodeいます。クラスには、を返すParentNodeメソッドがあります。getChildTreeNode
連続して呼び出すたびにgetChild、大量のダウンキャストを行う必要があります。
LeafNode myLeafNode = (LeafNode) ((ParentNode) this.getChild(id1)).getChild(id2)
プログラムの継承構造を変更せずに、このすべてのダウンキャストを回避する方法はありますか?