Classe concreta

  • classe comum
  • classe que pode ser instanciada como um objeto

Classe abstrata

  • serve de modelo para uma classe concreta
  • devem sempre ser herdadas
  • podem conter métodos abstratos e/ou métodos concretos
  • usa a palavra chave abstract para definir
  • se declarar um construtor você deve chama-lo no filho com o super()

Método concreto

  • método que possui lógica dentro

Método abstrato

  • método que só pode ser setado em classes abstratas
  • apenas os headers são declarados
  • devem sempre ser implementados nos filhos
  • não requerem a definição dos parâmetros
  • utilizam a palavra chave abstract também

Constantes

  • para declarar constantes basta setar as variáveis como static final

Interface

  • Especificação explicitas de um conjunto de métodos e atributos que devem ser implementados na classe que à implementa
  • todos os métodos são abstratos
  • não são permitidos métodos concretos
  • é permitido que uma herança múltipla com intrfaces(classes não)
interface C extends A,B {...
class C implements A,B
  • ao setar os métodos você não coloca o abstract
  • aqui você declara apenas os headers dos métodos
  • para os parâmetros você precisa coloca os nomes e os tipos
  • para os atributos você pode setar valores, mas eles serão constantes
  • para uma classe usar uma interface, ao invés do extends, você usa o implements
  • uma interface pode extender outra

Notas

  • As classes podem usar o extends e o implements ao mesmo tempo