Qual a utilidade de um classe abstrata sem métodos abstratos? Apenas com métodos implementados, métodos normais.
Forçar que se criem filhos delas para que sejam usadas.
Um exemplo de classe assim? WindowAdapter.
Mas, realmente, são casos raros. Por isso você não vai encontrar muitas delas por aí.
Ok! não se pode usar classe abstrata sem ter classes filhas. Mas como eu posso usar uma classe não abstrata sem ser pela classes filhas? Só se os métodos forem statics, é isso?
Vc pode criar instâncias de classes não abstratas.
public void teste() {
Foo f = new Foo() // instancia a classe Foo
f.metodoFoo(); // utiliza o método da classe Foo
}
Você está perguntando “como é que se usa uma classe ABSTRATA sem ser pelas classes filhas?”
É algo assim:
WindowAdapter wa = new WindowAdapter () {
public void windowClosing(WindowEvent e) {
...
}
};
Aqui você está criando uma instância de uma classe CONCRETA e ANÔNIMA que estende uma classe ABSTRATA e que sobreescreve apenas o método windowClosing.
Você está perguntando “como é que se usa uma classe ABSTRATA sem ser pelas classes filhas?”
[/quote]
na verdade isso é impossível, ou você usa uma subclasse normal, ou uma anonima, mas que não deixa de ser uma subclasse