Oi, Bernardo! Como vai?
Você estruturou muito bem o uso de ArrayList e o laço for para somar os itens do carrinho. Um ponto importante é que o método valorDoItem() está como void, então ele não retorna nenhum valor para a soma. Além disso, no objeto c2, a linha c2.preco = 2; deveria ser c2.quantidade = 2;.
Uma dica interessante para o futuro é criar métodos que já retornem valores diretamente, deixando o código mais organizado. Veja este exemplo:
public double valorDoItem() {
return quantidade * preco;
}
Nesse código, o método retorna o valor total do item multiplicando a quantidade pelo preço.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!