Sabe qual é o resultado ao tentar compilar este código?

parece fácil mas é
abstract class A {
public abstract void a();
}
abstract class B extends A{
public abstract void b();
}
class C extends B{
void a(){}
void b(){}
}
R: A classe C está implementando os métodos das interfaces porém com o nível de acesso {default}  que é mais restritivo e, portanto,  causa um erro de compilação.
javac:

Teste.java:17: b() in C cannot override b() in B

void b(){}

^

attempting to assign weaker access privileges; was public

Teste.java:16: a() in C cannot override a() in A

void a(){}

^

attempting to assign weaker access privileges; was public

2 errors

Esta entrada foi publicada em Java com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s