Usando ‘Static Import’ e ‘Import’ para importar membros estáticos declarados em uma classe (2).

Veja também: Usando ‘Static Import’ e ‘Import’ para importar membros estáticos declarados em uma classe.

 

No framework ‘collections’ temos uma ‘static inner interface’ declarada dentro da interface ‘Map’ chamada ‘Entry’ conforme pode-se observar no código abaixo:

import java.util.Map;

import java.util.LinkedHashMap;

import java.util.Map.Entry;
// static inner class

 
 

public class Teste {

public static void main(String[] args){

Map<String, String> map = new LinkedHashMap<String,String>(10,10,true);

map.put(“1”, “jose”);

map.put(“2”, “lucia”);

map.put(“3”, “pedro”);

map.put(“4”, “flavia”);

 
 

// acessando os itens para mudar a ordem …

map.get(“4”);

map.get(“3”);

map.get(“1”);

 
 

// veja que a interface Map define uma sub-interface como membro estático chamada Entry

for(Map.Entry m : map.entrySet())

System.out.printf(“%1$s – %2$s\n”,m.getKey(), m.getValue());

}                

}

Output:

2 – lucia

4 – flavia

3 – pedro

1 – jose

 

Dado o código abaixo no determinado pacote veremos como utilizá-lo:

 

package pack1;

public class ClassClass {

public static class Class1 {

public String toString() {return “Class1”;}

}

public static class Class2 {

public String toString() {return “Class2”;}

}

public static int i = 10;

}

 
 

Possibilidade 1:

 
 

import pack1.ClassClass.Class1;

import pack1.ClassClass.Class2;

 
 

public class Teste {

public static void main(String args[]){

Class1 c1 = new Class1();

System.out.println(c1);

 
 

Class2 c2 = new Class2();

System.out.println(c2);

 
 

// System.out.println(i);                

}

}

Output

Class1

Class2

 
 

Possibilidade 2:

 
 

import pack1.ClassClass.Class1;

// import pack1.ClassClass.Class2;

 
 

public class Teste {

public static void main(String args[]){

Class1 c1 = new Class1();

System.out.println(c1);

 
 

/*

Class2 c2 = new Class2();

System.out.println(c2);                

*/

 
 

// System.out.println(i);                

}

}

Output:

Class 1

 
 

Possibilidade 3:

 
 

import static pack1.ClassClass.*;

 
 

public class Teste {

public static void main(String args[]){

Class1 c1 = new Class1();

System.out.println(c1);

 
 

Class2 c2 = new Class2();

System.out.println(c2);                

 
 

System.out.println(i);

}

}

Output:

Class1

Class2

10

 
 

Possibilidade 4:

 
 

import static pack1.ClassClass.Class1;

 
 

public class Teste {

public static void main(String args[]){

Class1 c1 = new Class1();

System.out.println(c1);

 
 

/*

Class2 c2 = new Class2();

System.out.println(c2);                

*/

 
 

// System.out.println(i);

}

}

Output:

Class1

 
 

 
 

Comparando:

 
 

import pack1.*;

 
 

public class Teste {

public static void main(String args[]){

ClassClass.Class1 c1 = new ClassClass.Class1();

System.out.println(c1);

new ClassClass(); // É POSSÍVEL instanciar a classe

}

}

 
 

ou

 
 

import pack1.ClassClass.*;

 
 

public class Teste {

public static void main(String args[]){

Class1 c1 = new Class1();

System.out.println(c1);

// new ClassClass(); // não é possível instanciar a classe

}

}

 
 

ou

 
 

import pack1.ClassClass.Class1;

 
 

public class Teste {

public static void main(String args[]){

Class1 c1 = new Class1();

System.out.println(c1);

// new ClassClass(); // não é possível instanciar a classe

}

}

 
 

Os três outputs:

Class1

 
 


 

Anúncios
Esta entrada foi publicada em Compilação e distribuição com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s