javaはjsやphpみたいに配列の中に要素と子配列や子連想配列がまざっていなるようなデータ構造は一切許容しない方針になってるってことでいいの?

あと親クラスのメソッド名をオーバーライドする意図がよくわからない。
たまたまメソッド名が被ってて上書きしましたなら
分かるけど
意図的に親クラスを調べて同じメソッド名にしてオーバーライドするのだとしたら何故あえてそうするのかがわからない
子クラスで好きなメソッド実装したいなら新たな名前で親クラスとか継承とか関係なしに新規に定義すればいいじゃん
わざわざ同じメソッド名にしてsuperとかで親機能呼び出したらソース上で親クラス辿らないと何してるか見えなくなるじゃん
そこまでして親クラスの機能を無理に応用する必要ないのでは?
大体親クラスは自分が書いたものとは限らないから、
メソッドの仕組みを詳しく知ってるわけじゃないことが多い。
子クラスで新規追加した方が見やすくて確実なのでは?