esatto, hai capito bene.
Tu in fase di progettazione non sai se mai avrai delle figlie e quali saranno, quindi se proprio vuoi "clonarti" in qualche modo metti un riferimento della classe padre. In quel caso il costruttore della classe padre partirà da un oggetto che di sicuro conosce, dello stesso tipo di se stesso per intenderci.
Provo a chiarirmi con un esempio:

Codice PHP:
package sample;

public class 
TestoA extends Testo{
    
    private 
String altroParametro "";

    public 
TestoA(String autoreString titolo) {
        
this(autoretitolo"");
    }

    public 
TestoA(Testo testo) {
        
this (testo.getAutore(), testo.getTitolo(), "");
        
    }
    
    public 
TestoA(Testo testoString altroParametro) {
        
this (testo.getAutore(), testo.getTitolo(), altroParametro);
        
    }
    
    public 
TestoA(String autoreString titoloString altroParametro) {
        
super(autoretitolo);
        
this.altroParametro altroParametro
    }

    @
Override
    
public String toString() {
        return 
"TestoA [altroParametro=" altroParametro ", getAutore()="
                
getAutore() + ", getTitolo()=" getTitolo() + "]";
    }

    public 
String getAltroParametro() {
        return 
altroParametro;
    }

    public 
void setAltroParametro(String altroParametro) {
        
this.altroParametro altroParametro;
    } 
    
}

package sample;

public class 
Testo {
    private 
String autore;
    private 
String titolo;
    
    public 
Testo(String autoreString titolo) {
        
this.autore autore;
        
this.titolo titolo;
    }
    
    public 
Testo(Testo testo) {
        
this(testo.getAutore(), testo.getTitolo());
    }
    
    public 
String getAutore() {
        return 
autore;
    }
    public 
void setAutore(String autore) {
        
this.autore autore;
    }
    public 
String getTitolo() {
        return 
titolo;
    }
    public 
void setTitolo(String titolo) {
        
this.titolo titolo;
    }

    @
Override
    
public String toString() {
        return 
"Testo [autore=" autore ", titolo=" titolo "]";
    }
}

package sample;

public class 
Esempio {

    
/**
     * @param args
     */
    
public static void main(String[] args) {
        
Testo testo = new Testo("prova""titolo");
        
System.out.println(testo);
        
Testo testo1 = new Testo(testo); 
        
System.out.println(testo1);
        
        
TestoA testoa = new TestoA(testo"prendermi");
        
        
System.out.println(testoa);
        
        
TestoA testo3 = new TestoA(testoa"pluto");
        
        
System.out.println(testo3);
    }


e questo è l'output
Testo [autore=prova, titolo=titolo]
Testo [autore=prova, titolo=titolo]
TestoA [altroParametro=prendermi, getAutore()=prova, getTitolo()=titolo]
TestoA [altroParametro=pluto, getAutore()=prova, getTitolo()=titolo]

ora ti commento