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"));
    }
}