galera, eu acho que ta errado, meu compilador diz que ta errado…mais vamo lá.
estudando pelo test killer achei essa questão…
Question 73
static class A {
void process() throws Exception { throw new Exception(); }
}
static class B extends A {
void process() { System.out.println("B"); }
}
public static void main(String[] args) {
new B().process();
}
What is the result?
A. B
B. The code runs with no output.
C. Compilation fails because of an error in line 12.
D. Compilation fails because of an error in line 15.
E. Compilation fails because of an error in line 18.
Answer: A
pois bem…o que diabos é uma classe STATIC?
meu compilador diz Illegal modifier for Class A. o mesmo pra Class B.
pelo que eu tinha aprendido STATIC só em membros de classe(propriedades e métodos).
fiquei confuso…o test killer tá errado…não tá? questão esta na pag 40 do test killer para SCJP 5
na verdade, são classes internas a uma outra q esta omitida!
o metodo void process() de B sobrescreve o metodo da superclasse
portanto a resposta esta correta
O + correto seria algo como
public class Teste{
static class A {
void process() throws Exception { throw new Exception(); }
}
static class B extends A {
void process() { System.out.println("B"); }
}
public static void main(String[] args) {
new B().process();
}
}
[quote=joaosavio]na verdade, são classes internas a uma outra q esta omitida!
o metodo void process() de B sobrescreve o metodo da superclasse
portanto a resposta esta correta
O + correto seria algo como
public class Teste{
static class A {
void process() throws Exception { throw new Exception(); }
}
static class B extends A {
void process() { System.out.println("B"); }
}
public static void main(String[] args) {
new B().process();
}
}
[/quote]
Caramba…eu numca ia reparar nisso cara…eu posso esperar esse tipo de omissão na prova?