Pegadinha: imports de classes estáticas
Estava estudando alguns algoritmos, ou melhor pegadinhas que poderiam cair na prova do SCJP 5.0 e cai com uma situação, que a princícpio é bastante bizarra (pelo menos ao mer ver). O algoritmo a ser analisado é o seguinte:
-
import static a.Estatico.foo;
-
-
public class Main{
-
-
foo();
-
}
-
}
À primeira vista já ia marcar de cara a opção, o código não compila, motivo? Olhe este método ( foo() ), repare que ele não foi declarado em nenhum local. Então na teoria esse código não compilaria.
Em seguida dei uma olhada rápida nos imports, pois achei muito estranho, pois em questões do SCJP é muito raro encontrarmos imports. Assim que percebi, tinha algo a mais. Repare: import static pacote.Classe.metodo.
Uma situação no mínimo interessante, então resolvi testar. A primeira parte do algoritmo é a listagem acima, e a continuação é o código abaixo. Experimente rodar e veja o resultado.
-
package a;
-
-
public class Estatico {
-
public static void foo() {
-
}
-
}
Até a próxima pessoal!


