class Cerchio extends Ellisse {

  public Cerchio(double raggio) {
    // Invochiamo direttamente un costruttore specifico della superclasse, 
    // imponendo che asseMinore = asseMinore = raggio. 
    // Ricordate che questa istruzione deve essere il primo enunciato del 
    // costruttore della sottoclasse perchè altrimenti, la JVM invoca al posto
    // vostro come prima istruzione super();
    super(raggio,raggio);
  }

  // metodi istanza
  public void setRaggio(double raggio) {
    this.setAsseMaggiore(raggio);
    this.setAsseMinore(raggio);
  }

  public double getRaggio() {
    return this.getAsseMaggiore();
  }

}

import javax.swing.*;

public class ProvaCerchio {
  public static void main(String[] args) {
    String stringaInput;
    stringaInput = JOptionPane.showInputDialog("Inserisci il raggio: ");
    Cerchio mioCerchio = new Cerchio(Double.parseDouble(stringaInput));
    JOptionPane.showMessageDialog(null, "L'area del cerchio di raggio " +
      mioCerchio.getRaggio() + " è " + mioCerchio.calcolaArea() + ".");
    System.exit(0);
  }
}