Fórum Interface Java #533850
07/10/2015
0
Felipe Moreira
Curtir tópico
+ 0Posts
11/10/2015
Felipe Moreira
Gostei + 0
11/10/2015
Janaina Mendes
1
down
Interface não é uma classe. Existem algumas similaridades entre classes abstratas e interfaces, mas também existem diferenças. Vejamos:
[Similaridades]
Interfaces e classes abstratas não podem ser instanciadas.
Para que possamos ter instâncias desses tipos, devemos criar uma nova classe que estenda a classe abstrata ou implemente a interface.
[Diferenças]
Classes abstratas podem ter atributos que serão definidos para cada instância de subclasse e que são suscetíveis a alterações por parte das classes filhas de acordo com o modificador de acesso. Enquanto isso, atributos declarados em interfaces são implicitamente static e final (isto é, um por classe e não podem ser alterados).
Interfaces não podem ter a implementação de métodos; classes abstratas podem ter.
Dado que em classes abstratas podemos ter algumas implementações de métodos, as classes filhas podem fazer uso desses métodos com a palavra-chave super para os comportamentos que são comuns entre diferentes classes filhas. Em interfaces, isso não existe porque cada classe que implementa a interface define seu próprio comportamento na implementação.
Pode ser que existam outras diferenças, mas no momento é o que me lembro.
Gostei + 0
12/10/2015
Fernando C
(não há, portanto, "herança multipla" em java).
Mas pode herdar de várias interfaces.
Gostei + 0
12/10/2015
Felipe Moreira
Gostei + 0
12/10/2015
Janaina Mendes
Gostei + 0
12/10/2015
Felipe Moreira
Fazendo isso, obrigado.
Gostei + 0
27/10/2015
Janaina Mendes
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)