Duvida list em classe abstrata

ola estou precisando de ajuda com o seguinte codigo:

[code]package br.edu.assesc.trabalho04.ricardo.questao01;

import java.util.Iterator;
import java.util.List;

public abstract class Pizzaria {
private List pizzas;

/**
 * Este metodo devera receber uma nova pizza e inserir na lista de pizzas
 */
public abstract void recebeNovoPedido(Pizza p);

/**
 * Este metodo devera preparar todas as pizzas que tem pedido efetuado
 */
public final void prepararAsPizzas() {
	for (Pizza p : pizzas) {
		prepararMolho(p);
		prepararRecheio(p);
	}
}

/**
 * Este metodo devera preparar o molho de acordo com a pizza
 */
public abstract void prepararMolho(Pizza p);

/**
 * Este metodo devera preparar o recheio de acordo com os itens de recheio
 * da pizza
 */
public abstract void prepararRecheio(Pizza p);

/**
 * Este metodo devera entregar todas as pizzas para os clientes
 */
public void entregarParaCliente() {
	Iterator<Pizza> lista = pizzas.iterator();
	while (lista.hasNext()) {
		Pizza p = lista.next();
		System.out.println("Pizza " + p.getNome() + " entregue!");
		lista.remove();
	}
}

public List<Pizza> getPizzas() {
	return pizzas;
}

public void setPizzas(List<Pizza> pizzas) {
	this.pizzas = pizzas;
}

}
[/code]

[code]package br.edu.assesc.trabalho04.ricardo.questao01;

public class MinhaPizzaria extends Pizzaria {

public void recebeNovoPedido(Pizza p) {

}

@Override
public void prepararMolho(Pizza p) {
	System.out.println("molho preparado");

}

@Override
public void prepararRecheio(Pizza p) {
	System.out.println("recheio preparado");

}

}
[/code]

[code]package br.edu.assesc.trabalho04.ricardo.questao01;

import java.util.ArrayList;

public class TestarPizzaria {

public static void main(String[] args) {

	// As variaveis criadas devem ser sempre do tipo
	// da classe abstrata

	// 1)Criar instancia de pizzaria

	ArrayList<Pizza> nova = new ArrayList<Pizza>();

	MinhaPizzaria rkd0 = new MinhaPizzaria();

	// 2)Fazer pelo menos 2 pedidos

	PizzaPresunto p1 = new PizzaPresunto();
	PizzaQueijo p2 = new PizzaQueijo();
	nova.add(p1);
	nova.add(p2);

	rkd0.setPizzas(nova);

	rkd0.recebeNovoPedido(p1);

	// 3)mandar preparar pedidos

	rkd0.prepararAsPizzas();

	// 4)mandar entregar os pedidos

	rkd0.entregarParaCliente();

}

}[/code]

na classe TestarPizzaria quando chamo o metodo receberNovoPedido e coloco como parametro a p1 ou p2 da erro.
se alguém puder ajudar agradeço.

public abstract class Pizza {
	private String nome;
	private String molho;
	private List<String> itensRecheio;

	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public String getMolho() {
		return molho;
	}
	
	public void setMolho(String molho) {
		this.molho = molho;
	}
	
	public List<String> getItensRecheio() {
		return itensRecheio;
	}

	public void setItensRecheio(List<String> itensRecheio) {
		this.itensRecheio = itensRecheio;
	}
}

[code]package br.edu.assesc.trabalho04.rafael.questao01;
import java.util.ArrayList;
import java.util.List;

public class PizzaPresunto extends Pizza {

public PizzaPresunto(){
	this.setNome("Presunto");
	this.setMolho("tomate");
	List<String> itens = new ArrayList<String>();
	itens.add("queijo");
	itens.add("presunto");
	this.setItensRecheio(itens);
}

}
[/code]

Qual erro ocorre?

Você tem um método recebeNovoPedido(Pizza p) e está chamando ele na classe TestarPizzaria passando PizzaPresunto como parâmetro.

Posta suas classes de entidade para darmos uma olhada.

Abs

sua classe PizzaPresunto e qualquer pizzaXxxxx deve extender Pizza

ou implementar Pizza. (case seja interface)

la na declaração da classe…:

public class PizzaPresunto extends Pizza

Sim, eu duvido.
Seu título não é nem um pouco descritivo, deixa a entender que você nem sabe o que quer fazer.
Por que não coloca um título mais claro e mais objetivo?Aproveite, na minha assinatura tem um link para o how to do guj, leia-o e aproveite o que ele informa.