Mi fermo alla tua classe "Data".
Se esiste già in java si usa dire di "non reinventare la ruota".
Con la classe Calendar facevi già tutto, operazioni e verifica del bisestile:
codice:
import java.util.Calendar;
class Demo {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(2000, Calendar.FEBRUARY, 28);
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.get(Calendar.DAY_OF_MONTH) + "/" +
(cal.get(Calendar.MONTH) + 1) + "/" +
cal.get(Calendar.YEAR));
System.out.println("bisestile: " +
(cal.getActualMaximum(Calendar.DAY_OF_YEAR) > 365 ? "si" : "no"));
}
}