Erro no livro (scjp 5) ou eu que estou errado?

segue as imagens:

Minha Resposta: Nenhuma
Resposta do Livro: B (mas como? nao tem return)

Minha Resposta: A
Resposta do Livro: A e C :shock:

qual a opinião de vcs?

Olá! Apenas por curiosidade, pq vc está estudando para a SCJP 5 e não para uma versão mais recente?

Na questão 2 acredito que a letra A está correta e na 5 a letra D.

O negócio é vc procurar a versão do livro em inglês e conferir o original.

A primeira é letra A não tem como ser B, pois não tem return. A segunda eu acho q é a letra A e D .

De cara posso responder a primeira questão.

Todas estão erradas:
A) Não tem corpo;
B) Não tem retorno;
C) Método abstrato fora de classe abstrata;
D) Declaração errada de metodo abstrato;

Espero ter ajudado.

Pessoal a 1 esta claro que e a resposta B.

Porque uma classe abstrata pode ter metodos não abstratos, porém uma classe não abstrata não pode ter nenhum metodo abstrato, então com isso a resposta B e a correta porque declara uma classe abstrata, com o metodo com corpo com chaves {} em vez de ;.

resumindo , e apenas uma classe abstrata com um metodo concreto.

questão 2.

Bem essa acredito que a resposta A esta certa porém tenho duvida entre a D e a C vou explicar o pq na minha concepção a D esta correta pois “is” pode ser usado caso a variavel seja um boolean e ai estaria correto, porém no livro esta apontando a C que também talvez possa esta correta e a tradução faz ficar parecendo errado pois removeRep poderia estar correta ja que ela poderia ser usado como em removeActionListener estaria no padrão, porém a tradução errada ficou como delete, que assim fica errado eu acho.

Felipe, como vc afirmou eu fiz o teste…

public abstract class Canine { public String teste() {}; }

A questão realmente está errada, o método obriga o retorno de uma String, logo… não compila.

Canine.java:2: missing return statement public String teste() {}; ^ 1 error

Espero ter ajudado.

O que mais fica dúbio na questão 1 é que podemos pensar que o conteúdo do método foi omitido propositalmente pelo autor da pergunta, isto é, deveríamos avaliar apenas a assinatura ou a classe como um todo?
Mas tratando-se da certificação Java, qualquer coisa que não compile está errada, a não ser que a questão afirme explicitamente que o trecho está omitido.