Pessoal preciso usar as classes Timer e TimerTask. Na minha classe tentei extender a TimerTask que por sua vez é uma classe Abstrata. Mas sei lá porque diz esse erro:
interface expected here EM public class Animacao extends JPanel implements java.util.TimerTask
Mas porque isso? Como TimerTask é abstrata sou obrigado a sobrepor seus metodos abstratos. E é o que fiz. Mas se eu fizer Animacao como sendo interface não posso descrever o comportamento dos meus métodos.
Então tentei apenas declarar um objeto de cada classe. Mas não posso instanciar o objeto da TimerTask por ser abastrata. Mas ai da um erro de nullPointer!!!
[code] public class Animacao extends JPanel{
.
.
.
.
java.util.Timer timer;
java.util.TimerTask task;
public Animacao(){
.
.
.
timer = new java.util.Timer();
}
Como vc disse, “Os metodos abstratos por decreto tem que ser subscritos em uma classe concreta(nao abstrata)”…
Você não precisa instanciar o objeto de cada classe, pois com o poder da herança vc podera usufruir do polimorfismo, aonde vc ira poder executar o metodo tanto de sua classe concreta com da classe abstrata…
O polimorfismo permitira que vc use a referencia a um supertipo mais abstrato (incluindo uma interface) para acessar um de seus subtipos…
A NullPointerException ocorre quando você tenta acessar um método (ou atributo) de uma instância que está nula.
Isso eu sei… sendo mais especifico é quando se tenta acessar a um objeto que não existe.
Mas o fato é que ele aponta esse erro para um objeto que eu não posso instanciar por ser um objeto de uma classe abstrata! Não se instancia objetos de classes desse tipo!
Esse erro ta escroto! Preciso contornar esse erro pois preciso usar o objeto da timertask