Semplicemente perchè memorizzi i loro valori nelle variabili...

Quando modifichi il valore di una JTextField, ciò che viene cambiato è lo stato interno del controllo... non di certo le variabili che hai dichiarato tu e di cui il JTextField non può avere alcuna conoscenza.

Quello che devi fare tu è reperire il valore attuale del JTextField e, eventualmente, confrontarlo con il valore delle variabili (che conterrà sempre il valore vecchio).

codice:
public void modifica(){
  System.out.println("campo1: "+jtextfield1.getText());
  System.out.println("campo2: "+jtextfield2.getText());
}
Ciao.