Questa de Certificacao

4 respostas
maxguzenski

isso compila ?

interface TestInterface { 
  int var=7; 
} 

class TestObject implements TestInterface { 
    TestObject() { 
        System.out.println(var); 
    } 

	public static void main(String[] args) {
		TestObject o = new TestObject();
	}
}

4 Respostas

marciolx

sim, e imprime 7, todos os campos definidos em uma interface são implicitamente public, static e final, isto é, constantes

neste caso,

int var = 7;

é o mesmo que

public static final int var = 7;

marciolx

tanto que se você mudar o código para:

interface TestInterface { 
  int var=7; 
} 

class TestObject { 
    TestObject() { 
	    System.out.println(TestInterface.var);
    } 

   public static void main(String[] args) { 
      TestObject o = new TestObject(); 
   } 
}

dá na mesma

luiz_ross

eu acho que compila normalmente

marciolx
C:marciolxjava2003cert>javac TestObject.java

C:marciolxjava2003cert>java TestObject
7

C:marciolxjava2003cert>
Criado 5 de junho de 2003
Ultima resposta 5 de jun. de 2003
Respostas 4
Participantes 3