"Olá, amigo! Hoje vamos falar de pacotes."

"Arquivos em um computador são agrupados em pastas. Classes em Java (cada classe é armazenada em um arquivo separado) são agrupadas em pacotes, que correspondem a pastas no disco rígido. Portanto, não há nada de novo aqui. Há duas coisas que eu' gostaria de salientar, no entanto."

" Primeiro , o nome exclusivo completo de uma classe consiste em seu nome de pacote mais o nome da classe . Aqui estão alguns exemplos:"

Nome exclusivo completo Nome do pacote Nome da classe
java.io.FileInputStream java.io FileInputStream
java.lang.String java.lang Corda
java.util.ArrayList java.util ArrayList
org.apache.tomcat.Servlet org.apache.tomcat Servlet
Gato Não especificado Gato

"Um nome de classe completo é sempre único."

"Seria difícil se tivéssemos que escrever o nome longo, ou seja, java.util.ArrayList , todas as vezes. É por isso que Java permite importar classes. Você pode usar nomes curtos de outras classes em seu código, mas no início de sua classe, você deve indicar explicitamente quais classes você usará."

"Como você faz isso?"

"Com uma linha que se parece com isso: import java.util.ArrayList;"

"No início de uma classe, imediatamente após declarar o pacote, você pode indicar a qual classe está se referindo ao usar ArrayList em seu código."

"Por que complicar as coisas? As classes podem ter nomes idênticos?"

"Sim. Pode haver classes com o mesmo nome em pacotes diferentes. Não podemos importar duas classes com nomes idênticos , então teríamos que chamar uma delas pelo nome completo."

"Aqui está uma analogia para você. Você tem um colega chamado Jim. Não há problema com isso: todo mundo sabe quem ele é. Mas se houvesse três Jims em seu escritório, você teria que chamá-los por seus nomes completos exclusivos para evitar confusão."

" Em segundo lugar , é sempre melhor colocar as classes em pacotes, não na pasta raiz src . Quando você não tem muitas classes, isso não é um problema, mas quando há muitas, é fácil misturá-las. Sempre crie classes dentro dos pacotes."

Em Java, a prática comum é dar nomes significativos a classes e pacotes. Muitas empresas lançam suas bibliotecas (conjuntos de classes) e as nomeiam com o nome de sua empresa ou site para evitar confusão:"

Nome do pacote Nome da empresa/projeto
org. apache .common
org. apache .tomcat
org. apache.util _
Apache
com. oráculo .jdbc Oráculo
java .io
java x.servlet
Sol, Java
com. ibm.websphere IBM, WebSphere
com. jboss JBossGenericName