Sou novo na Linguagem Java e estou criando um programa onde ele tem uma classe pizza onde calcular o preço e contabiliza os ingrediente e imprimi o preço e os ingredientes, também tenho uma classe cliente onde fornece os ingredientes e chama o método do preço e de imprimir, mas ao imprimir dois objetos diferentes fica um único valor e os mesmo ingredientes;
Essa é a classe Pizza
import java.util.ArrayList;
import java.util.HashMap;
public class Pizza {
private ArrayList <String> ingrediente =  new ArrayList<String>();
private static HashMap <String, Integer> contabiliza = new HashMap<String, Integer>();
public void adicionaIngrediente(String n){
	ingrediente.add(n);
	contabilizaIngrediente(n);
}
public void getPreco(){
	if (contabiliza.size() <= 2){
		System.out.printf("O valor de sua pizza: R$ 15,00\n");
	} 
	else if (contabiliza.size() <= 5 && contabiliza.size() >= 3){
		System.out.printf("O valor de sua pizza: R$ 20,00\n");
	}
	else {
		System.out.printf("O valor de sua pizza: R$ 23,00");
	}
}
private static void contabilizaIngrediente(String n){
	contabiliza.put(n, null);
	contabiliza.size();
}
public void imp(){
	System.out.printf("Ingrediente utilizados: %s\n\n", ingrediente);
}
}
Essa é a classe cliente:
public class ClienteTeste {
public static void main(String[] args) {
	
	Pizza pizza = new Pizza();
	Pizza pi = new Pizza();
	
	pizza.adicionaIngrediente("Mussarela");
	pizza.adicionaIngrediente("Presunto");
	pizza.adicionaIngrediente("Tomate");
	pizza.adicionaIngrediente("Carne de Sol");
	pizza.adicionaIngrediente("Oliva");
	pizza.adicionaIngrediente("Pimentão");
	pi.adicionaIngrediente("Calabresa");
	pi.adicionaIngrediente("Azeite");
	
	
	pizza.getPreco();
	pizza.imp();
	pi.getPreco();
	pi.imp();
	
}
} 
Ai imprimir tudo igual, o que fazer?