Método getLista não retorna registro do mysql

olá a todos estou estudando pela apostila da caelum e me deparei com uma dúvida a qual não estou conseguindo resolver.Bem o método de inserção no BD esta funcionando perfeitamente mas o método que busca esses registros não esta me retornando nada e o pior roda normal sem erro. Vou postar o código e gostaria da ajuda de outros olhos porque não consigo encontrar o erro.

Classe de Conexão com mysql

package com.br.fagner.jdbc;

import java.sql.*;
public class ConnectionFactory {
    
    public Connection getConnection(){
		//JOptionPane.showMessageDialog(null,"Conectado ao banco");
		//System.out.println("Conectado ao banco");
		try{
			return DriverManager.getConnection("jdbc:mysql://localhost/fj21","root","");
		}catch(SQLException e){
			throw new RuntimeException(" não foi possível abrir conexão " + e);
		}
		
		
	}
    
}

Classe BeansContato

package br.com.fagner.jdbc.modelo;

import java.util.*;
public class BeansContato {
    
    private long id;
	private String nome;
	private String email;
	private String endereco;
	private Calendar dataNascimento;
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public Calendar getDataNascimento() {
		return dataNascimento;
	}
	public void setDataNascimento(Calendar dataNascimento) {
		this.dataNascimento = dataNascimento;
	}
    
    
    
}

Classe DaoContato

package br.com.fagner.jdbc.DaoContato;

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 br.com.fagner.jdbc.modelo.BeansContato;

import com.br.fagner.jdbc.ConnectionFactory;
public class DaoContato {
    
 Connection conexao = new ConnectionFactory().getConnection();
    
 public void adiciona(BeansContato contato){
    String sql = "insert into contatos(nome,email,endereco,dataNascimento) values(?,?,?,?)";
    try{
    PreparedStatement stm = conexao.prepareStatement(sql);
    stm.setString(1, contato.getNome());
    stm.setString(2, contato.getEmail());
    stm.setString(3, contato.getEndereco());
    stm.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
    stm.execute();
    stm.close();
    }catch(SQLException e){
	throw new RuntimeException("Não foi possível adicionar o contato " + e);
   }
                
 }
 
 public List<BeansContato> getLista(){
     try{
       List<BeansContato> contatos = new ArrayList<BeansContato>();
       PreparedStatement stmt =  conexao.prepareStatement("select * from contatos");
       ResultSet rs = stmt.executeQuery();
       while(rs.next()){
           BeansContato c = new BeansContato();
           c.setId(rs.getLong("id"));
           c.setNome(rs.getString("nome"));
           c.setEmail(rs.getString("email"));
           c.setEndereco(rs.getString("endereco"));
           
           Calendar data =  Calendar.getInstance();
           data.setTime(rs.getDate("dataNascimento"));
           c.setDataNascimento(data);
           contatos.add(c);
       }
       rs.close();
       stmt.close();
       return contatos;
     }catch(SQLException e){
         throw new RuntimeException(e);
     }
 }
    
}

Classe TestarLista

package br.com.fagner.jdbc.teste;

import br.com.fagner.jdbc.DaoContato.DaoContato;
import br.com.fagner.jdbc.modelo.BeansContato;
import java.util.List;

public class TestarLista {
    
    public static void main(String[] args){
        
       // Connection conexao = new ConnectionFactory().getConnection();
        DaoContato dao = new DaoContato();
        List<BeansContato> cont = dao.getLista();
        
        for(BeansContato c : cont){
            System.out.println("Nome: " + c.getNome());
            System.out.println("email: " + c.getEmail());
            System.out.println("endereço: " + c.getEndereco());
            System.out.println("Data de nascimento: " + c.getDataNascimento().getTime());
        }
    }
    
}

Confesso que não sei(e até gostaria de saber) se esta lista de object (sem generics) poderia fazer isso (nada acontecer - sem errors)…mas ja tentou colocar com BeansContato para ver o que muda?

List<BeansContato> contatos = new ArrayList<>();

picklesdog70 sim coloquei. Acho que ele não copiou certo ai colagem saiu errada.Quando executo a classe main da a mensagem construido com sucesso nada mais não aparece o registro que esta gravado no banco

Acabei de achar o erro.É que eu tinha duas classes com main e o netbeans estava executando uma classe que não tinha nada ai exclui essa classe deixando só a que tem o for.Obrigado