Quarta-feira, Maio 07, 2008

Iniciando a preparação para certificação Java SCJP

Conforme havia adiantado estou me preparando para a certificação de programador Java.

Estou iniciando meus estudos seguindo o roteiro definido no livro SCJP da Kathy Sierra/Bert Bates.
Para isso a medida que terminar de estudar um capítulo prepararei um material (slides) que será compartilhado aqui no blog.

Como comecei, de fato e de direito, os estudo essa semana ainda estou no capítulo 1 do livro que trata sobre Declarações e Controles de Acesso de Classes e Membros de Classes.

Então, para dar cabo da inércia, motivar os estudos e a participação do pessoal aqui no blog segue uma questão básica sobre o assunto estudado.

interface Foo {
   int BAR = 42;
   void go();
}

class Boo implements Foo {
   public void go() {
      BAR = 27;
   }
}

O código acima compila? Justifique.

2 nerd(s) responderam:

Fabrício Lélis disse...

e aí compila?

andersonlf disse...

O código não compila!! Qualquer variável declarada dentro de uma Interface é, por default, public static final. Dessa forma a classe Boo, que implementa a interface Foo, recebe a variável public static final BAR com valor 42. Mas a implementação do método go tenta alterar a constante. Temos então erro de compilação.