Если Tile
является подклассом Node
, все Tile
sa Node
s, но not all Node
sa Tile
s.
Поэтому приведение Node[]
к Tile[]
является неправильным, поскольку не , все Node
массивы являются Tile
массивами.
Например, следующее выкинет ClassCastException
:
Node[] nodes = new Node[10];
Tile[] tiles = (Tile[]) nodes;
С другой стороны, будет работать следующее:
Node[] nodes = new Tile[10];
Tile[] tiles = (Tile[]) nodes;