Não consegue instanciar objeto

Estou tentando instanciar o objeto, de Quadirlateral pra trapezoid mas não consigo algém pode me ajudar.

[code]public class Quadrilateral extends Object{
protected double x,y;

/** Creates a new instance of Quadrilateral */
public Quadrilateral() {
    
    setQuadrilateral(0,0);
}

public void setQuadrilateral( double x, double y){
    
    setX( x);
    setY( y);
}

public void setX( double xx){
    
     x = ( xx >= 0 ? xx : 0);
    
}

 public void setY( double yy){
    
     y = ( yy >= 0 ? yy : 0);
    
}

public double getX(){
    
    return x;
}

public double getY(){
    
    return y;
}

public double area(){
    
    return x * x * y * y;
}
public String toString(){
    
    return "[" + x + ", " + y + "]";
}

}[/code]

[code]public class Trapezoid extends Quadrilateral{
protected double x;
protected double y;

public Trapezoid(){

	x = super.getX();
	y = super.getY();
}

public double area(){

	return (x + y)/2;
	
}
   
public String toString(){
    
	return (super.toString());
}

}

import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class Areas extends JFrame{
private Quadrilateral quadrilateral;
private Trapezoid trapezoid;
private JLabel xLabel, yLabel;
private JTextField xField, yField,resultField, resultField1;
private JButton exitButton;

/** Creates a new instance of Areas */
public Areas() {
    
    super( "Área");
    
    quadrilateral = new Quadrilateral();
    trapezoid = new Trapezoid();
    
    ActionEventHandler handler = new ActionEventHandler();
    
    Container container = getContentPane();
    container.setLayout( new FlowLayout() );
    
    xLabel = new JLabel("Coordenada x ");
    xField = new JTextField(10);
    xField.addActionListener( handler);
    container.add( xLabel);
    container.add( xField);
    
    yLabel = new JLabel("Coordenada y ");
    yField = new JTextField(10);
    yField.addActionListener( handler);
    container.add( yLabel);
    container.add( yField);
    
    resultField = new JTextField(20);
    resultField.setEditable( false);
    container.add( resultField);
    
    resultField1 = new JTextField(20);
    resultField1.setEditable( false);
    container.add( resultField1);
    
    exitButton = new JButton("Sair");
    exitButton.addActionListener( handler);
    container.add( exitButton);
}

public void resultTime(){
    
    resultField.setText("Quadrilateral: " + quadrilateral.toString() + " Area: " + quadrilateral.area());
    resultField1.setText(" Trapézio: " + trapezoid.toString()+ " Area: " + trapezoid.area());
}

public static void main( String args[]){
    
    Areas window = new Areas();
    
    window.setSize(250, 170);
    window.setVisible( true);
}

private class ActionEventHandler
        implements ActionListener{
        
    public void actionPerformed( ActionEvent event){
        
        if ( event.getSource() == exitButton)
            System.exit(0);
        
        else if ( event.getSource() == xField){
            quadrilateral.setX(
                   Double.parseDouble( event.getActionCommand() ));
            
        }
        
        else if ( event.getSource() == yField){
            quadrilateral.setY(
                    Double.parseDouble( event.getActionCommand() ));
            
        }
        
        resultTime();
            
        }
    }
}[/code]

Quadrilateral q = new Quadrilateral(); // OK
Quadrilateral q2 = new Trapezoid(); // OK
Trapezoid t = new Quadrilateral(); // NÃO PODE!

para instanciar objetos usa-se:

nome_classe + nome_referencia = new nome_classe();

Quadrilateral quadrilateral = new Quadrilateral();
Trapezoid trapezoid = new Trapezoid();

Abraxxxxxxx