Questão
ID 2524716Disciplina: Tecnologia da Informação
Assunto: Java
Ano: 2016 Banca: IFRS - Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Órgão: Instituto Federal do Rio Grande do Sul
Dadas as classes abaixo, descritas cada qual em seu respectivo arquivo e todas estando no mesmo pacote, com classpath e JDK versão 1.7 devidamente configurados, e todos os imports corretamente feitos.
Foo1.java
abstract class Foo1 { int x=0; abstract int foo1(); abstract void foo2(int foo); } |
Foo2.java
public class Foo2 extends Foo1{ int foo1() { return super.x; } void foo2(int foo) { super.x=foo; } } |
Foo3.java
public class Foo3 extends Foo2 implements Foo4{ int x=0; public int foo2() { return x; } public void foo1(int foo) { x=foo; } } |
Foo4.java
public interface Foo4 { void foo1(int foo); int foo2(); } |
Foo5.java
public class Foo5 implements Foo4{ int x = 0; public int foo2() { return x; } public void foo1(int foo) { x=foo; } } |
Com base nas classes apresentadas, no mesmo pacote foi criada a seguinte classe:
Test.java
public class Test { public static void main(String[] args) { Foo4 f4 = new Foo3(); f4.foo1(1); f4 = new Foo5(); System.out.println(f4.foo2()); } } |
Ao executarmos a classe Test.java, obteremos o seguinte resultado no console: