Figura[] figury = new Figura[3];
nie ma tu instancji ... tworzysz tablice typu Figura, ale nie korzystasz z konstruktora dla tej klasy.... więc jako tako obiekt nie istnieje, ale alokujesz na razie na niego pamięc mówiąc kompilatorowi to będą obiekty TEGO TYPU, ale nie są bo na razie ich nie ma
a z racji, że nie mozna tworzyć obiektów potem dostajesz błąd przy figury[2] = new Figura();