Programação orientada a objeto
1. public class Base { 2. public void metodo(int i) { 3. System.out.print("Valor eh " + i); 4. } 5. }
1. public class Sub extends Base { 2. public void metodo(int j) { 3. System.out.print("Este valor eh " + j); 4. } 5. public void metodo(String s) { 6. System.out.print("Foi passado " + s); 7. } 8. public static void main(String[] args) { 9. Base b1 = new Base();
10. Base b2 = new Sub();
11. b1.metodo(5);
12. b2.metodo(6);
13. }
14. }
O que acontecerá caso o programa seja compilado e executado? A. A compilação falhará na linha 2 da segunda classe pois o método já foi definido na superclasse. B. A compilação falhará na linha 5 da segunda classe pois já foi declarado um método com o mesmo nome antes. C. A compilação falhará na linha 10 pois um cast explícito é exigido. D. A compilação irá ocorrer com sucesso e será impressa a mensagem: Valor eh 5Valor eh 6 E. A compilação irá ocorrer com sucesso e será impressa a mensagem: Este valor eh 5Valor eh 6 (correta) F. A compilação irá ocorrer com sucesso e será impressa a mensagem: Valor eh 5Este valor eh 6 G. A compilação irá ocorrer com sucesso e será impressa a mensagem: Valor eh 5Foi passado 6
2. Quais dos seguintes fragmentos de código serão compilados com sucesso e imprimir a mensagem "Igual" ao executar? (Selecione todas as que se aplicarem)
(correta) A. int x = 100; float y = 100.0F; if (x == y) System.out.println("Igual");
(correta) B. int x = 100; Integer y = new Integer(100); if (x == y) System.out.println("Igual");
(errada) C. Integer x = new Integer(100); Integer y = new Integer(100); if (x == y)