Это потому, что дерево состоит из объектов одного типа, так или иначе указывающих на другие объекты того же типа. Итак, left
и right
для дерева из tNode
объектов должны быть того же типа, что и tNode
.
Когда вы выполняете рекурсивные операции на узле дерева, тогда предполагается, что каждый узел быть отправной точкой другого дерева (также известного как поддерево). Итак, recursiveFunctione(node)
приведет к recursiveFunctione(node.left)
и recursiveFunctione(node.right)
Поскольку java строго типизирован, если узлы принадлежат к разным типам, рекурсивная функция не будет работать.
Я полагаю, что это какое-то наследование структура открыла бы разные возможности, но я не уверен, что это будет.