Delete do CRUD [Resolvido]

Olá pessoal aqui estou novamente com uma dúvida, eu estou acompanhando e estudando pela apostila da caelum de desenvolvimento web e não estou conseguindo excluir dados do banco fiz uma classe ContatoDAO onde tem a implementação de todos os métodos do CRUD mas eu não estou conseguindo deletar algum dado do banco, consegui inserir e listar mas não consigo deletar, acredito que minha implementação da classe testeDelete está errada alguém pode me ajudar?

package caelum.jdbc.dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import caelum.modelo.Contato;
import celum.jdbc.ConnectionFactory;

public class ContatoDAO {

	private Connection connection;

	public ContatoDAO() {
		this.connection = new ConnectionFactory().getConnection();
	}

	public void adiciona(Contato contato) {
		String sql = "insert into contatos "
				+ "(nome, endereco, email, dataNascimento)"
				+ "values (?,?,?,?)";
		try {
			// prepara para insercao
			PreparedStatement stmt = connection.prepareStatement(sql);

			// seta os valores dos parametros
			stmt.setString(1, contato.getNome());
			stmt.setString(2, contato.getEndereco());
			stmt.setString(3, contato.getEmail());
			stmt.setDate(4, new Date(contato.getDataNascimento()
					.getTimeInMillis()));

			// execute e fecha
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}

	public List<Contato> getLista() {
		try {
			List<Contato> contatos = new ArrayList<Contato>();
			PreparedStatement stmt = this.connection
					.prepareStatement("select * from contatos");
			// executa a query
			ResultSet rs = stmt.executeQuery();

			while (rs.next()) {// meto next navega pelos registros

				Contato contato = new Contato();
				contato.setId(rs.getLong("id"));
				contato.setNome(rs.getString("nome"));
				contato.setEmail(rs.getString("email"));
				contato.setEndereco(rs.getString("endereco"));

				// montando a data atraves do calendar
				Calendar data = Calendar.getInstance();
				data.setTime(rs.getDate("dataNascimento"));
				contato.setDataNascimento(data);

				// add objeto a lista
				contatos.add(contato);
			}
			// fecha tudo
			rs.close();
			stmt.close();
			return contatos;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}

	public void altera(Contato c) {
		String sql = "update contatos set nome=?, email=?, endereco=?,"
				+ "dataNacimento=?, where id=?";
		try {
			PreparedStatement stmt = connection.prepareStatement(sql);

			stmt.setString(1, c.getNome());
			stmt.setString(2, c.getEmail());
			stmt.setString(3, c.getEndereco());
			stmt.setDate(4, new Date(c.getDataNascimento().getTimeInMillis()));
			stmt.setLong(5, c.getId());

			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}

	public void remove(Contato c) {
		try {
			PreparedStatement stmt = connection
					.prepareStatement("delete from contatos where id=?");
			
			stmt.setLong(1, c.getId());
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
}

e agora a classe testeDelete

package caelumTeste;

import java.util.Calendar;
import java.util.List;

import caelum.jdbc.dao.ContatoDAO;
import caelum.modelo.Contato;

public class testeDelete {

	public static void main(String[] args) {
		
		Contato cont = new Contato();
		cont.setNome("Felipe Alves");
		cont.setEmail("felipealves@hotmail.com");
		cont.setEndereco("Rua Dom Cardoso");
		cont.setDataNascimento(Calendar.getInstance());
		
		ContatoDAO dao = new ContatoDAO(); 
                dao.adiciona(cont);
		dao.remove(cont);
		
		
	}
}

Pessoa consegui resolver. Obrigado!!