1
resposta

Pacotes vs Diretórios

Olá, tudo bem?

Fiquei com uma dúvida simples. Vi que é possível executar uma classe tanto pelo nome do pacote, por exemplo: pacote.NomeDaClasse, como pelo diretório, por exemplo: pacote/NomeDaClasse.

Gostaria de confirmar apenas se o uso pelo pacote.NomeDaClasse só é possível quando se declara o package na classe. A primeira dúvida é: Se eu quero chamar uma classe pelo padrão pacote (pacote.NomeDaClasse) eu obrigatoriamente preciso declarar o package na classe?

Segunda dúvida: A decisão de usar packages ou não é uma decisão arquitetural? Eu poderia ter um projeto cheio de pastas e sem declarar pacotes? E ao chamar as classes usar sempre o padrão diretório (pacote/NomeDaClasse)?

Terceira dúvida, só pra enfatizar bem: Se eu distribuir meu projeto em pastas, obrigatoriamente preciso usar pacotes?

Tive essas dúvidas pois me pareceu que um obriga o outro e não entendi direito quando usar um ou outro. Fiquei com a impressão de que sempre devemos usar packages, mas dessa forma, não entendi quando usar os diretórios.

PS. Eu entendi que o nome do pacote precisa ser o caminho de diretórios a partir do CLASSPATH, isso ficou claro, minha questão é mais quando usar só diretórios sem declarar os packages.

Obrigado, Aderlei

1 resposta

Bom... Você até consegue criar um arquivo .java referenciando um pacote que não condiz com a estrutura de pastas.. Só que vc não consegue executar... De todo jeito, ninguém faz desse jeito, tem mais cara de bizarrice da linguagem do que qualquer coisa.