Classes (top-level)
| Caso | O que faz |
|---|---|
abstract class | Não pode ser instanciada; pode ter métodos abstratos e concretos; pode ser herdada |
final class | Não pode ser herdada; métodos não são final por padrão |
class | Classe concreta, pode ser instanciada e herdada |
Classes (nested)
| Caso | O que faz |
|---|---|
static class | Classe interna que não depende de instância da classe externa |
final class | Classe interna que não pode ser herdada |
abstract class | Classe interna não instanciável, pode exigir implementação |
Métodos em classes
| Caso | O que faz |
|---|---|
abstract method | Não tem corpo; obriga subclasses a implementar |
final method | Pode ser herdado, mas não sobrescrito |
static method | Pertence à classe; não participa de polimorfismo |
static final method | Método de classe que não pode ser ocultado novamente |
method | Método normal, pode ser sobrescrito |
Interfaces
| Caso | O que faz |
|---|---|
interface | Define um contrato; não pode ser instanciada |
abstract interface | Redundante; interface já é abstrata |
Métodos em interfaces
| Caso | O que faz |
|---|---|
abstract method | Declara método que deve ser implementado |
default method | Método com implementação que pode ser sobrescrito |
static method | Método utilitário da interface; não é herdado |
Atributos em interfaces
| Caso | O que faz |
|---|---|
static final field | Constante pública compartilhada |