Erro ao instanciar List

Pessoal, hoje me deparei com um problema que não estou habituado.
tenho uma uma classe chamada Local e quero instanciar um Lis dentro de uma outra classe so que o código me mostra uma mensagem de erro estranha.

public class ProdutoConvenio {
	
               private List listaLocais;
	
	public ProdutoConvenio(){
		
                  listaLocais = new List<Local>();		
	}
}

o import tanto de util.List quanto de Local, que é uma outra classe do projeto, estão sendo feitos. Quando o código acima é verificado pelo eclipse ele diz que o List não pode ser instanciado.
mais se eu fizer:

public class ProdutoConvenio {
	
               private List listaLocais;
	
	public ProdutoConvenio(){
		
                  listaLocais = new ArrayList<Local>();		
	}
}

aí funciona beleza…

Alguém sabe me explicar porque está acontecendo isso?

pq List é uma Interface e nao pode ser intanciada…mas arrayList é uma calsse que implementa List entao vc pode refereciar o ArrayList atraves do List

List na verdade é uma interface. Portanto a linha

listaLocais = new List&lt;Local&gt;();

está incorreta.

O mais comum, é fazer a declaração da seguinte maneira:

public class ProdutoConvenio {
	
               private List listaLocais;
	
	public ProdutoConvenio(){
		
                  listaLocais = new ArrayList&lt;Local&gt;();		
	}
}

Que define que listaLocais será um objeto de alguma classe que implementa List.

apenas complementando List é uma interface então não é possível chamar seu construtor

           
listaLocais = new List<Local>(); // erro de compilação