Java.sql.Date e java.util.Date

Em certo trecho do meu código, não consigo usar java.util.Date devido existir a classe Date também na pacote java.sql, então existe o conflito com os nomes.

Mas como isso é possível se estou criando o objeto assim:

java.util.Date data;

Ou seja, estou usando o caminho completo. Por que esse conflito com java.sql.Date?

Seguinte… imagine só…
Vc tem duas pessoas que vc conhece…
Uma chama José Das Coves
e outra chma…
José Dirceu…

Agora se eu vou e falo pra vc… amigo… o José seu amigo mando um abraco pra vc, como vc vai saber qual dos dois q mandou um abraco pra vc ?

E por isso q qdo for falar tenho q falar… José Dirceu.
Isso mesmo acontece com o compilador.

se vc usar SEMPRE o caminho completo, não pode dar erro.

tipo …

java.util.Date data = new java.util.Date();

Que tipo de erro voce tem?
O que acontece realmente?
Tem como postar o código?

Se importo assim:

import java.util.*;

Tenho uma mensagem de erro no trecho:

java.util.Date data = new Date(System.currentTimeMillis());

“Reference to Date is ambiguous., both class both class java.sql.Date in java.sql and java.util.Date in java.util match”

Mas se eu importo assim:

import java.util.Date;

Então não recebo mais essa mensagem e o programa roda sem problemas. Mas porque isso se estou usando o caminho completo para criar o objeto?

SIM.