Cara. tenho uma dúvida sobre importação.
se eu importar uma classe de um pacote por exemplo :
import java.io.ImputStream // importa apenas a classe Imput Stream ..
e
import java.io.* // importa todas as classes do subpacote io
teoricamente tem algum problema eu importar tudo, em vez de ficar importando uma única classe ? Não é mais facil eu importar tudo ?
qual a diferença ?
abraços
Angelo
O tamanho dos arquivos que serão importados.
pode ser mais específico ? dando exemplos … ?
sou iniciante é só uma dúvida a toa…
obrigado
Cara, quando você especifica quais classes importa, está definindo o menor “espaço” gasto.
Quando você importa usando o , está puxando tudo que um determinado pacote possui.
Exemplo:
O teu projeto é uma viagem, você possui determinadas coisas que precisa levar (roupa, artigos de higiene, etc). Quando você seleciona determinadas peças e seus itens de uso pessoal, a mala fica mais leve.
Agora, pense que você vai para uma praia e decide levar guarda-roupas., serão levadas blusas, jaquetas, etc.
Ou então você vai viajar para a Antartida. E usa o guarda-roupa.*. Irá levar coisas desnecessárias, que só ocuparão espaço.
[quote=drsmachado]Cara, quando você especifica quais classes importa, está definindo o menor “espaço” gasto.
Quando você importa usando o , está puxando tudo que um determinado pacote possui.
Exemplo:
O teu projeto é uma viagem, você possui determinadas coisas que precisa levar (roupa, artigos de higiene, etc). Quando você seleciona determinadas peças e seus itens de uso pessoal, a mala fica mais leve.
Agora, pense que você vai para uma praia e decide levar guarda-roupas., serão levadas blusas, jaquetas, etc.
Ou então você vai viajar para a Antartida. E usa o guarda-roupa.*. Irá levar coisas desnecessárias, que só ocuparão espaço.[/quote]
Obrigado cara e tem diferença na hora de desempenho ou alguma coisa ?
abraço !
[quote]teoricamente tem algum problema eu importar tudo, em vez de ficar importando uma única classe ? Não é mais facil eu importar tudo ?
qual a diferença ? [/quote]
Não há diferença nenhuma em importar tudo (*) ou apenas as classes específicas, como um boa prática o recomendado é importar apenas as classes necessárias, voce não deve se preocupar se o arquivo vai ter 1 ou 20 linhas a mais por causa dos imports, isso não vai fazer diferença.
Essa diferença de importar tudo de uma vez só importa no momento de compilação pois depois de compilado a JVM vai apenas utilizar os imports específicos que voce precisa na classe, que muito provavelmente não será tudo.
Abraços,
Daniel
Isso pode gerar alguns conflitos caso você utilize classes com o mesmo nome mas em pacotes diferentes.
Por exemplo, este código não irá compilar:
import java.util.*;
import java.awt.*;
List list;
Aqui segue um link com melhores explicações.
(Opa esse post tá duplicado com o http://www.guj.com.br/java/245400-importacao)