Certo che si può fare, sarebbe un po' difficile fare programmazione ad oggetti con una limitazione così restrittiva non credi?
Se per "mi dà errore" ti riferisci al fatto di ricevere sempre una NullPointerException in esecuzione, la risposta non può che essere una: stai nuovamente tentando di accedere a un oggetto/variabile che non è ancora stato istanziato.
Questo nella stragrande maggioranza dei casi, ovviamente a meno che non sia tu a porre volontariamente una variabile a null (improbabile)...
Senza avere il codice sottomano (l'avrai modificato immagino) è impossibile dire dove questo accade, ma ti basta guardare la riga che ti dà errore e controllare una ad una tutte le operazioni che fai, banalmente se stampi a video tutte le variabili della riga coinvolta e ricevi da qualche parte "null", hai già un'indicazione di quale sia a causare l'errore...
Nelle due righe che hai postato ora poi, hai chiamato nome un frame di tipo FinestraAggiungiContatto, e poi sotto fai nome.getText(): quindi o hai sbagliato a scrivere il secondo nome, e volevi riferirti a uno dei tuoi textField, o devi avere definito nella classe FinestraAggiungiContatto un metodo getText() (non lo vedo molto sensato), o stai chiamando in parti diverse del codice due variabili con lo stesso nome, e questa è una pessima idea visto il casino in cui sei in mezzo
Intanto se vuoi riposta il codice con le modifiche e ti dico dove sta il problema, ma ripensa a quello che ho scritto sopra: il design delle classi che stai creando non va affatto bene, e se continui a non volerlo "correggere" subito, farai sempre più fatica in futuro.
Perché non hai ancora creato una classe Contatto? E' l'entità di base della tua rubrica, e ci fai sopra ogni operazione...
Nel metodo Aggiungi che hai postato sopra (tra l'altro i nomi dei metodi per convenzione dovrebbero iniziare con la minuscola), inserisci le informazioni dei textfield in un ArrayList di stringhe e poi provi a scrivere la lista in un file, tra l'altro sovrascrivendolo ogni volta.
Perché in quel punto non istanzi un nuovo contatto passando come parametri i dati inseriti, e non inserisci il nuovo contatto creato in una lista di Contatti ?
Se poi la lista di Contatti la dichiari come variabile della classe Rubrica, sarà visibile a tutte le classi della tua applicazione, e non dovrai MAI avere bisogno di creare frame dentro altri frame e altre cose inutili ....