Diferença entre import java.io.* e importação pacote por pacote

Olá pessoal estou com uma dúvida bem básica, mas que corroe minha mente… ehhe

Existe alguma diferença no consumo de memória se faço uma importação com * ou se faço a importação pacote por pacote???

ex:

import java.io.*;

ou

import java.io.File;
import java.io.BufferedReader;
.
.
.

aguardo alguma resposta… Um abraço… 8) 8) 8)

E simples se vc fosse gerar um .jar iria ficar com um pacote do tamanho XXXX.
Usando importação estática somente o vc ira usar , ira diminuir significativamente o tamanho deste pacote .
Pq vc provavelmente nunca usa todas as classes disponivels no pacote java.io.* ou java.sql.* .

Ficou claro ?

Olá,

Depois de compilado isso não faz diferença. Aqui no fórum já houve discussões sobre esse assunto, pesquise nos tópicos antigos que você encontra mais detalhes.

A declaração import é somente um atalho para o pacote que você precisa usar e não altera o tamanho de sua aplicação, na deixa mais pesada e nem mais leve.

a diferença é que quando se faz:

import.java.io.*;

você pode usar qualquer classe desse pacote, enquanto que:

import.java.io.File;

você está declarando que irá usar somente a classe File, geralmente dessa forma é usada por uma questão de organização, quando você bate o olho na declaração import sabe exatamente o que seu código está usando.

:wink:

Se vc usar java.io.* vc importa pacotes desnecessarios e ainda dificulta a manutenção.

Bem lembrado: olhando do ponto de vista da manutenção realmente existe diferença, pois fica muito mais difícil bater o olho no código e saber que classe está sendo usada.

Mas só pra reforçar, em performance e tamanho do programa compilado fica a mesma coisa.

O primeiro que me respondeu disse que tem diferença o edmarr, já o gomesrod disse que não tem…

Em quem devo confiar???

Qual a melhor opção para vcs na hora de desenvolver algo??? :?:

[quote=[r.Jovelli]]O primeiro que me respondeu disse que tem diferença o edmarr, já o gomesrod disse que não tem…

Em quem devo confiar???

Qual a melhor opção para vcs na hora de desenvolver algo??? :?: [/quote]

Bem, se você for zipar um código fonte com todos os imports por extenso, o arquivo ficaria maior mesmo.

Agora quando compilado, eu teria que testar o tamanho do arquivo .class gerado por cada forma para saber se fica maior ou menor. Na prática mesmo, não tem muita importância, vai do gosto pessoal.

Pelo menos uma lista de imports muito grande significa que você está atribuindo responsabilidades demais a uma só classe.

[quote=augusto_ab]A declaração import é somente um atalho para o pacote que você precisa usar e não altera o tamanho de sua aplicação, na deixa mais pesada e nem mais leve.

a diferença é que quando se faz:

import.java.io.*;

você pode usar qualquer classe desse pacote, enquanto que:

import.java.io.File;

você está declarando que irá usar somente a classe File, geralmente dessa forma é usada por uma questão de organização, quando você bate o olho na declaração import sabe exatamente o que seu código está usando.

:wink: [/quote]

Testado eh confirmado eh somente para fins de organização, vc declarando o que realmente vai usar fica mais fácil a manutenção posterior .

blz pessoal, com certeza ajudou bastante…

Eu gostei da resposta do Bruno Laturner de que quanto maior a lista de importação maior a responsabilidade da classe…

Reforçou minhas idéias sobre abstração, quanto mais dividido o programa melhor fica para o reuso de classes e manutenção, etc…

Abraço a todos…

:wink: :wink: :wink:

Não Esqueça de editar o Título adicionando a tag [RESOLVIDO] , Depois tirar suas duvidas.

blz

adicionado…

Ainda nverifica a listagem do tópico para vc ver .