Imports nao vao parar no bytecode (eles so servem pro javac achar as classes e checar que os metodos tao la).
Nao consomem recursos a mais.
Mas da vontade de arrebentar a boca de quem nao sabe dar ‘Organize Imports’ no Eclipse e entope o projeto de warnings.
khaoz
A princípio não pois o import não “carrega” nada. Não é como o require/include do php.
Se der uma catada no fórum você encontra várias referências e expliações para isso
Adolfo_Rodrigues
cv:
Mas da vontade de arrebentar a boca de quem nao sabe dar ‘Organize Imports’ no Eclipse e entope o projeto de warnings.
++
Dá muita raiva mesmo. É tão fácil selecionar o seu projeto e dar um ctrl+shift+O. Não precisa nem ser classe a classe, selecionando o projeto ele faz em tudo. Não dá pra entender…
FilhoDoRei
Amigos a JVM na hora em que vc faz o import java.util.*;(por exemplo) ela traz todas as classes que vc esta utilizando no seu programa e cria o ponto classe somente com essas classes.
Aconselho vcs a fazer um simples teste: procurem algum descompilador java bom e façam o teste depois posta aqui o resultado.
flws
alucardeck
daki a poko tem gente usando
importjava.*
D
Daniel.F
Gostei do
import java.*;
T
thingol
“import java.*” não faz o que você quer fazer. Na verdade não faz nada, já que não existe nenhuma classe no JDK cujo pacote seja só “java.”.
De qualquer maneira, não custa nada teclar Ctrl+Shift+O (Organize Imports) no Eclipse; ele deixa tudo arrumadinho e de quebra você descobre que está importando uma coisa que não deve importar (uma com.sun.alguma coisa que não vai funcionar).
alucardeck
eu sei disso…
to generalizando… imaginando q se fosse possivel o cara ia dar um “import all”
sergiotaborda
venomtotal:
Bora lá, a situação seria:
Tenho uma classe A e faço a declaração do import de uma outra classe B.
Mas NÃO UTILIZO B em parte alguma do codigo.
Haverá perda de performance ou algo do tipo?
Não ha problemas de performance já que é apenas açucar sintático para facilitar a vida dos humanos. O .class não tem isso.
O objetivo do import (embora o nome possa enganar) é diminuir a necessiade de incluir os nomes completos das classes que deveria ser o padrão. Com o import isso só é necessário quando à colisão de nomes, o que é bem raro.
Ou seja, o import é apenas uma forma de escrever os nomes das classes de forma mais curta e não interfere em anda com o funcionamento no runtime.
Em C# o nome do import é “using” que dá mais a ideia do que realmente está sendo feito.
venomtotal
Agradeço a ajuda de todos em me tirar esta antiga dúvida
sergiotaborda:
O objetivo do import (embora o nome possa enganar) é diminuir a necessiade de incluir os nomes completos das classes que deveria ser o padrão. Com o import isso só é necessário quando à colisão de nomes, o que é bem raro.
Ou seja, o import é apenas uma forma de escrever os nomes das classes de forma mais curta e não interfere em anda com o funcionamento no runtime.
Em C# o nome do import é “using” que dá mais a ideia do que realmente está sendo feito.
Realmente, o nome engana, “importar”, por isto surgiu a minha duvida. E a gente percebe mesmo sua irmportância quando temos ocasiões de duas classes diferentes, mas com o mesmo nome, como é o caso da classe Date, já que pode ser a java.util.Date ou java.sql.Date, por exemplo.
Falow
arec_metafora
Realmente, o nome engana, “importar”, por isto surgiu a minha duvida. E a gente percebe mesmo sua irmportância quando temos ocasiões de duas classes diferentes, mas com o mesmo nome, como é o caso da classe Date, já que pode ser a java.util.Date ou java.sql.Date, por exemplo.
Falow
Verdade ein! O importar serve apenas para para distinguir uma classe da outra. O java tem o Date do util e do sql. E se eu quiser fazer o meu próprio Date.java? Aí o import decide qual classe usar!
O negócio do import java.* daria um monte de pau pq existem muitas classes com mesmo nome!