Ao nomear as classes uma a uma ao invés de usar o *, o código fica mai legível (pois você sabe exatamente quais classes do pacote você está usando no código)
F
fcardaoPJ
por exemplo
javax.swing.JButton;
javax.swing.*;
a primeira só está importando a classe JButton então você só poderá usar essa classe desse pacote
a segunda está importando todas as classes do pacote javax.swing tais como JButton, JComboBox, JList, JTextField, JTextArea, JLabel…e por aí vai…
P
PattyPJ
Oie gente…
além dessas diferenças que foram expostas, existe alguma diferença relacionada a performance?? E com relação à boas práticas, qual seria a melhor maneira de fazer?? classe a classe, ou o pacote todo (*) ??
Abs
Patty
B
bentomonteiroPJ
Performance ---- Não
Boa Prática ---- Melhor indicar classe por classe pelo motivo já citado anteriormente
F
felipeloPJ
Então quer dizer que a unica diferença é a questão de boa pratica, ja que por questões de performace ou qualquer outra coisa do genero não ha melhorias, por exemplo no aplicativo final pro cliente?
S
SchuenemannPJ
Sim.
Pode também ter conflito de nomes.
Por exemplo, existe a classe java.awt.List e a interface java.util.List.
Se você usa * nos 2 e aparece List no seu arquivo, qual dos dois é o certo?
S
sakuraiPJ
Não sei se tem algum problema com performace, mas o compilador primeiro executa os imports explicitos “import javax.swing.JFrame”, depois é feito os imports das classes do mesmo pacote e por ultimo é feito os imports das classes implicitas (classes de pacote “import javax.swing.*”).
Falow
V
vieciliPJ
o ‘*’ não significa que todas as classes serão linkadas, o compilador faz as otimizações necessárias. Problema de performance só na hora de compilar, não na hora de executar.
dá uma olhada também no ‘static import’ do Java 5… eh uma funcionalidade interessante tb…