Quando usado assim:
import static com.showboy.Myclass;
public class Anotherclass{}
qual é a diferença entre import static com.showboy.Myclass
e import com.showboy.Myclass
?
fonte
Quando usado assim:
import static com.showboy.Myclass;
public class Anotherclass{}
qual é a diferença entre import static com.showboy.Myclass
e import com.showboy.Myclass
?
Ver documentação
A declaração de importação estática é análoga à declaração de importação normal. Onde a declaração de importação normal importa classes de pacotes, permitindo que sejam usadas sem qualificação de pacote, a declaração de importação estática importa membros estáticos de classes, permitindo que sejam usados sem qualificação de classe.
Então, quando você deve usar a importação estática? Muito com moderação! Use-o apenas quando estiver tentado a declarar cópias locais de constantes ou a abusar da herança (o Antipadrão da interface constante). Em outras palavras, use-o quando precisar de acesso frequente a membros estáticos de uma ou duas classes. Se você usar demais o recurso de importação estática, ele poderá tornar seu programa ilegível e impossível de manter, poluindo seu espaço de nome com todos os membros estáticos importados. Os leitores do seu código (incluindo você, alguns meses depois de escrevê-lo) não saberão de qual classe um membro estático vem. A importação de todos os membros estáticos de uma classe pode ser particularmente prejudicial à legibilidade; se você precisar de apenas um ou dois membros, importe-os individualmente. Quando usada adequadamente, a importação estática pode tornar seu programa mais legível,
include
em Ruby!Não há diferença entre essas duas importações que você declara. No entanto, você pode usar a importação estática para permitir acesso não qualificado a membros estáticos de outras classes. Onde eu costumava fazer isso:
Eu posso fazer isso:
Você pode ver mais na documentação .
fonte
A importação estática é usada para importar campos / métodos estáticos de uma classe em vez de:
Você pode escrever :
É útil se você costuma usar uma constante de outra classe no seu código e se a importação estática não é ambígua.
Btw, no seu exemplo "import static.example.Myclass static;" não funcionará: a importação é para classe, a importação estática é para membros estáticos de uma classe.
fonte
A idéia básica da importação estática é que sempre que você estiver usando uma classe estática, uma variável estática ou uma enumeração, você poderá importá-las e poupar a digitação.
Vou elaborar meu argumento com exemplo.
Mesmo código, com importações estáticas:
Nota : a importação estática pode tornar seu código confuso para leitura.
fonte
import static java.lang.Math
sem o asterisco?O primeiro deve gerar um erro do compilador, pois a importação estática funciona apenas para importar campos ou tipos de membros. (supondo que MyClass não seja uma classe interna ou membro do showboy)
Eu acho que você quis dizer
que disponibiliza todos os campos e membros estáticos do MyClass na unidade de compilação real sem precisar qualificá-los ... como explicado acima
fonte
Isso
import
permite que o programador java acesse as classes de um pacote sem qualificação do pacote.O
static import
recurso permite acessar os membros estáticos de uma classe sem a qualificação da classe.O
import
fornece acessibilidade para classes e interface, enquantostatic import
fornece acessibilidade para membros estáticos da classe.Exemplo:
Com importação
Com importação estática
Consulte também: O que é importação estática no Java 5
fonte
Digamos que você tenha campos e métodos estáticos dentro de uma classe chamada
MyClass
dentro de um pacote chamadomyPackage
e deseje acessá-los diretamente digitandomyStaticField
oumyStaticMethod
sem digitar cada vezMyClass.myStaticField
ouMyClass.myStaticMethod
.Nota: você precisa fazer um
import myPackage.MyClass
oumyPackage.*
para acessar os outros recursosfonte
O
static
modificador a seguirimport
é para recuperar / usar campos estáticos de uma classe. Uma área na qual eu usoimport static
é para recuperar constantes de uma classe. Também podemos aplicarimport static
em métodos estáticos. Certifique-se de digitarimport static
porquestatic import
está errado.O que há
static import
em Java - JavaRevisited - Um recurso muito bom para saber maisimport static
.fonte