Method Overriding

10 respostas
ozielneto
public class A {
       void doStuf(int number) throws Exception {
       }
}
public class B extends A {
       void doStuf(int number) throws Throwable {
       }
       public static void main(String a[]) throws Throwable {
                   new B().doStuf( 1 );
       }
}

Select the best answer:
A - ) Class Code A does not compile
B - ) Class Code B does not compile
C - ) Class Code A and B does not compile
D - ) Class Code A and B will compile
E - ) Class Code A and B will compile, and run properly

10 Respostas

H

Bom eu acho que é a melhor resposta é

B - ) Class Code B does not compile

A classe Trowable é a superclasse da Exception, desde modo só podemos subscrever um metodo que lance uma exception da mesma classe ou de uma subclasse da mesma. Coma a classe A o metodo doStuf lanca um exception da classe Exception, ele só pode ser subscrito por um metodo com a mesma assinatura e que lance uma exception da classe Excepion ou uma de subclasse da mesma.

Estou correto?

Ironlynx

Tb acho q deva ser a letra “b”.
do stuff em A deveria propagar Throwable.

maxguzenski

Na verdade a classe B tem que conter todos os Exceptions da classe A OU MENOS!

exemplo:

import java.sql.*;

public class A { 
       void doStuf(int number) throws NumberFormatException, Throwable, SQLException 
       {
       } 
}
public class B extends A { 
       void doStuf(int number) throws Throwable { 
       } 
       public static void main(String a[]) throws Throwable { 
                   new B().doStuf( 1 ); 
       } 
}

isso compila sem problemas

ozielneto

Parabenzzzzzz a todos…

Resposta correta - B

No Overriding, as Exceptions devem ser do mesmo tipo ou subtipo… Não da SuperClass.

[]'s

P

poxa, eu compilei e rodei e funcionou. oq será q aconteceu?

marciolx

veja se você não tem uma outra classe qualquer chamada A no seu classpath :?:

P

:slight_smile: Não era bem isso, mas me ajudo. Obrigado!

E

Onde encontro as regras para sobreerscrita de throws???

marciolx

http://www.freshsources.com/Apr01.html

E

valeu!!!

Criado 3 de junho de 2003
Ultima resposta 5 de jun. de 2003
Respostas 10
Participantes 7