union は Super クラスの配列だから
Super クラスのサブクラスのフィールド ex,ey の存在なんて知らない
だからアクセスできない

setStartPoint と setEndPoint メソッドはソースの肥やしか?
ご丁寧にスーパークラスに用意されてるんだから
ちゃんとサブクラスで実装して使え