palavra-chave import em Java
A palavra-chave import
em Java é usada para dar visibilidade a outras classes ou pacotes inteiros dentro da classe atual. Isso permite que você use classes de outros pacotes sem precisar fazer referência a seus nomes totalmente qualificados.
Uso
A instrução import
é colocada no início de um arquivo de código-fonte Java, após a declaração do pacote (se houver) e antes da declaração da classe. Ele ajuda a tornar o código mais legível e de fácil manutenção, permitindo o uso de nomes de classe simples em vez de nomes totalmente qualificados.
Sintaxe
import packageName.ClassName;
import packageName.*;
packageName.ClassName
: Importa uma classe específica de um pacote.packageName.*
: Importa todas as classes de um pacote.
Exemplos
Exemplo 1: Importação de uma classe específica
import java.util.ArrayList;
public class ImportExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
System.out.println(list);
}
}
Neste exemplo, a classe ArrayList
do pacote java.util
é importada. Isso permite o uso do ArrayList
sem que você precise referenciá-lo como java.util.ArrayList
.
Exemplo 2: Importação de todas as classes de um pacote
import java.util.*;
public class ImportAllExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
HashMap<String, Integer> map = new HashMap<>();
list.add("Hello");
map.put("World", 1);
System.out.println(list);
System.out.println(map);
}
}
Aqui, todas as classes do pacote java.util
são importadas usando o curinga *
. Isso permite o uso de ArrayList
e HashMap
sem a necessidade de especificar seus nomes totalmente qualificados.
Exemplo 3: Importação estática
import static java.lang.Math.*;
public class StaticImportExample {
public static void main(String[] args) {
double result = sqrt(25) + pow(2, 3);
System.out.println("Result: " + result);
}
}
Este exemplo demonstra o uso da importação estática. Ao importar métodos estáticos da classe java.lang.Math
, você pode usar diretamente métodos como sqrt
e pow
sem prefixá-los com Math.
.
Dicas e práticas recomendadas
- Evite importações desnecessárias: Importe somente as classes ou os pacotes de que você precisa. Importações desnecessárias podem bagunçar seu código e levar a ambiguidades.
- Use importações específicas: Prefira importar classes específicas em vez de usar o curinga
*
. Isso torna suas dependências explícitas e melhora a legibilidade do código. - Importações estáticas: Use importações estáticas com moderação. Embora eles possam tornar o código mais limpo, o uso excessivo deles pode gerar confusão sobre a origem de um método ou campo.
- Características do IDE: Os IDEs modernos podem gerenciar automaticamente as importações para você, adicionando as importações necessárias e removendo as não utilizadas. Utilize esses recursos para manter um código limpo e eficiente.
- Nomes totalmente qualificados: Em casos de conflitos de nomes ou para melhorar a clareza, você pode usar nomes totalmente qualificados sem importar. Por exemplo:
java.util.Date date = new java.util.Date();
- Organização do pacote: Organize suas aulas em pacotes de forma lógica. Isso não só ajuda nas importações, mas também melhora a estrutura e a capacidade de manutenção do seu projeto.
- Limitações da declaração de importação: As instruções de importação devem ser declaradas no início do arquivo e não podem ser colocadas dentro de blocos de código. Se houver conflitos de nomenclatura, você poderá usar nomes totalmente qualificados para especificar a classe exata de que precisa.