Import

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)