Muchas gracias por tu respuesta César.
Lo del método main, error imperdonable!. Me dispongo a subirlo.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Calendar;
public class TestHerencia3
{
    public static void main(String Arg[]){
        ArrayList<Producto> listaProductos= new ArrayList<Producto>();
        Calendar fechaEnvasado = Calendar.getInstance();
        Calendar fechaCaducidad = Calendar.getInstance();
        // Dos productos frescos
        fechaEnvasado.set(2001,0,1);fechaCaducidad.set(2011,0,1);
        listaProductos.add(new ProductoFresco("01-1",fechaEnvasado,fechaCaducidad,"Argentina"));
        fechaEnvasado.set(2002,0,1);fechaCaducidad.set(2012,0,1);
        listaProductos.add(new ProductoFresco("01-2",fechaEnvasado,fechaCaducidad,"Rumanía"));
        // Tres productos refrigerados
        fechaEnvasado.set(2001,1,2);fechaCaducidad.set(2021,1,2);
        listaProductos.add(new ProductoRefrigerado("02-1",fechaEnvasado,fechaCaducidad,"Holanda",3.00,"CODIGO-002"));
        fechaEnvasado.set(2002,1,2);fechaCaducidad.set(2022,1,2);
        listaProductos.add(new ProductoRefrigerado("02-2",fechaEnvasado,fechaCaducidad,"Suiza",2.00,"CODIGO-022"));
        fechaEnvasado.set(2003,1,2);fechaCaducidad.set(2023,1,2);
        listaProductos.add(new ProductoRefrigerado("02-3",fechaEnvasado,fechaCaducidad,"Holanda",4.00,"CODIGO-222"));
        // Dos productos congelados por aire
        fechaEnvasado.set(2003,2,3);fechaCaducidad.set(2033,2,3);
        listaProductos.add(new ProductoCongeladoAire("03",fechaEnvasado,fechaCaducidad,"España",-3.50,8,2,3,87));
        fechaEnvasado.set(2004,2,3);fechaCaducidad.set(2034,2,3);
        listaProductos.add(new ProductoCongeladoAire("03",fechaEnvasado,fechaCaducidad,"Cuba",-6.50,10,3,4,83));
        //Dos productos congelados por agua
        fechaEnvasado.set(2004,3,4);fechaCaducidad.set(2044,3,4);
        listaProductos.add(new ProductoCongeladoAgua("04",fechaEnvasado,fechaCaducidad,"Francia",-9,16));
        fechaEnvasado.set(2005,3,4);fechaCaducidad.set(2045,3,4);
        listaProductos.add(new ProductoCongeladoAgua("04",fechaEnvasado,fechaCaducidad,"Venezuela",-11,20));
        
        // Un producto congelados por nitrógeno
        fechaEnvasado.set(2005,4,5);fechaCaducidad.set(2055,4,5);
        listaProductos.add(new ProductoCongeladoNitrogeno("05",fechaEnvasado,fechaCaducidad,"España",-18.50,
                "Congelado pero que mu frío",4));
        System.out.println("Lista de Productos\n");
        Iterator<Producto> otroProducto=listaProductos.iterator();
        while(otroProducto.hasNext()){
            otroProducto.next().mostrarProducto();
        }
        System.out.println("Fin lista");
    }
}
Un saludo