Iniziamo da questo: fintanto che fai questi esercizietti semplici (e finché nessuno ti "boccia" l'esercizio per questo) puoi anche mettere campi pubblici e accederci direttamente.
Ma cerca di abituarti a tenere i campi generalmente sempre private e a mettere appositi costruttori e metodi getter e/o setter.
No, vuol semplicemente dire che persona3 ha lo stesso valore (il reference) che ha persona1. E quindi entrambe le variabili fanno riferimento allo stesso identico oggetto.
Visto che l'oggetto l'hai inizializzato prima, lo "vedi" con quegli stessi dati sia attraverso persona1 che attraverso persona3.
Tecnicamente è corretto mettere /** .... */ (questo è appunto un commento "javadoc") ma documentare con javadoc significa anche di più di quello: come minimo documentare eventuali parametri e il tipo di ritorno (se non void). Poi anche eccezioni, se necessario.
Ti suggerisco di guardare i sorgenti del framework standard o di qualunque applicazione/libreria open-source che sia seria e ben fatta per poter vedere come scrivere i commenti javadoc.
EDIT: vedi ad esempio il sorgente di CharUtils.java della nota libreria Apache Commons Lang e il rispettivo javadoc CharUtils generato.
E aggiungo: in metodi come questo, è bene fare una cosa sola, o fornisci solo una stringa, o stampi solo una stringa. Entrambe le cose non va molto bene.