Referência:
Decodejava.com apresentando tutorial Java simples e fácil.
Classe abstrata
é uma classe declarada com o
resumo
palavra-chave Ao contrário de uma classe java simples, uma classe abstrata pode não apenas conter
métodos definidos regularmente
mas também pode conter
métodos abstratos
ou uma mistura de
métodos regulares e abstratos
.
Para mais classes Abstratas, métodos abstratos e suas várias regras em exemplos fáceis de código
, você pode ler
Classe abstrata de Java- Decodejava.com
Interface
é um
Classe 100% abstrata
que é declarado com a palavra-chave
interface
. Métodos de interface são implicitamente
abstrato e
não pode ter
quaisquer métodos definidos regularmente.
Para mais informações sobre interface e várias regras em exemplos fáceis de código,
você pode ler
Interface em Java
Boa sorte!
Classe abstrata:
Interface:
Consulte Mais informação…
Página inicial - Blogs tudo em um
Java Conceito de Programação Orientada a Objetos (OOPs) - Blogs tudo em um
Existem várias diferenças:
A principal diferença é a finalidade para a qual eles são usados.
O escopo de uma classe abstrata geralmente está em um único aplicativo ou processo. É usado para abstrair propriedades e métodos comuns. Como ele também pode ter implementado métodos, há uma certa quantidade de código reutilizável para seus descendentes.
Pelo contrário, uma interface como o nome indica é usada para criar uma interface entre dois processos diferentes. Por exemplo, pode-se criar uma interface entre os processos do cliente e do servidor. O cliente pode implementar a interface que o força a implementar os métodos de uma certa maneira esperada. Em geral, as interfaces possuem apenas métodos não implementados, oferecendo muito pouco em termos de reutilização de código e esse também não é o objetivo.
Classe abstrata pode definir construtor. Eles são mais estruturados e podem ter um estado associado a eles.
As interfaces ainda não podem ter nenhum estado. As interfaces ainda não podem ter nenhum método final, o que significa que qualquer implementação pode substituir todos os seus métodos padrão. E as interfaces ainda não podem ter nenhum construtor.
Você ainda pode implementar várias interfaces, mesmo se elas tiverem métodos padrão com a mesma assinatura. Você não pode estender várias classes (abstrata ou não).
1. uma classe pode herdar de apenas uma outra classe, mas pode implementar muitas interfaces
2. uma interface pode não ter nenhum campo, esperar constantes definidoras, enquanto uma classe abstrata pode
3. uma classe abstrata pode definir um construtor, enquanto uma interface não pode
Os métodos padrão são restritos aos parâmetros de entrada e chamadas de método. Eles são apátridas por natureza. Uma classe abstrata pode ter estado. Portanto, da perspectiva do design, devemos usar classes abstratas sempre que precisar de reutilização de código.
As interfaces são perfeitas para seguir o princípio "Programa para interface e não implementação".