riaranha:
O q eu queria era de fato forçar o overload de um método sem usar interface, pois eu precisaria q a pessoa sobrecarregasse assim:
public void método(var var){
super();
//resto de implementação específica
//ex: txtDescricao.setText("teste");
}
Se vc quer que a classe filha redefina (re-escreva) um método - que é o que o seu exemplo está fazendo (embor o uso de super esteja errado) - isso se chama override (sobre-escrever).
Overload (sobrecarga) acontece quando vc define um método com nome igual mas parâmetros diferentes. Por exemplo:
class A {
metodo (int a){}
}
class B {
metodo (double a){}
metodo (int a, int b ){}
}
Aqui a classe B está fazendo overload do método de A. Para forçar este efeito vc usar interfaces . Assim:
interface I {
metodo (double a);
metodo (int a, int b );
}
class B implements I {
metodo (double a){}
metodo (int a, int b ){}
}
Para conseguir o efeito que vc mostrou no seu exemplo não existe forma em java a menos que vc implemente um esquema de anotações para isso . Assim
class A {
@MustOverride
metodo (int a){}
}
class B {
@Override
metodo (int a){}
}
A anotação @Override já existe em java. Vc pode criar a outra e um esquema que força o override durante a compilação.
P.S. Você pode fazer isto usando a Annotations Processing Tool
http://java.sun.com/j2se/1.5.0/docs/guide/apt/index.html
Contudo, este tipo de esquema (que existe no .NET) é pernicioso e viola os conceitos de Herança pq vc está forçando que se herde o codigo e não a funcionalidade.
Resumindo, é possivel força o override , mas não é simples e no fim é uma má prática.