Questao Certificacao 2

5 respostas
maxguzenski

O que acontece quando tentamos compilar e rodar o codigo abaixo?

interface A {
	short count = 0;
	int metodo();
}


public class B implements A {
	public static void main(String[] args) {
		B b = new B();
		System.out.println(b.metodo());
	}

	public int metodo() {
		int z;
		for (z=0; z < 13 && count < 6; count++, ++z) {
			z++;
		}
		return z;
	}
}

5 Respostas

H

Acho que dá erro de compilacao na interface, pois a variavel count deve ser final.

Estou correto?

maxguzenski

a INTERFACE compila sem nenhum problema…

H

OK, então nao pode ser feito um incremento na variavel count, pois é a mesma é uma constante pois na interface só deve ter metodos declarados e constantes.

É isso?

maxguzenski

exato, toda a variavel de classe na interface é PUBLIC FINAL STATIC

isso nao precisa aparecer EXPLICITAMENTE no codigo, a variável vaio ser sempre public, final e static …

logo, quem nao compila é a class B que tenta incrementar uma constante.

t+

S

legal! mais uma coisa q nao sabia :wink:

Criado 27 de junho de 2003
Ultima resposta 6 de jul. de 2003
Respostas 5
Participantes 3