Entendi que a data invalida seria somente 31/2/2012. E não todos os dias 31, todos os meses de fevereiro e todo o ano de 2012.
Achei a solução extensiva.
A minha solução é:
int dia;
int mes;
int ano;
void preencheData (int dia, int mes, int ano) {
if(dia!=31 && mes !=2 && ano!=2012){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
String getFormata (){
if(dia!=32 && mes !=2 && ano !=2012 )
return this.dia + "/" + this.mes + "/" + this.ano;
else
return null;
}
Seria a invalidação das datas.