Sto studiando le classi innestate e stavo guardando un esempio:
codice:
public class AutoNoInner
{
    private String statoMotore;
    private MeccanicoNoInner meccanico;

    public AutoNoInner()
    {
        meccanico = new MeccanicoNoInner(this);
    }
    
    public void setStatoMotore(String statoMotore)
    {
        this.statoMotore = statoMotore;
    }
    
    public String getStatoMotore()
    {
        return statoMotore;
    }
}

public class MeccanicoNoInner
{
    private AutoNoInner auto;
    
    public MeccanicoNoInner (AutoNoInner auto)
    {
        this.auto = auto;
    }

    public void aggiustaMotore()
    {
        auto.setStatoMotore("buono");
    }
}
Il manuale dice che utilizzando una classe innestata la situazione si semplifica molto:
codice:
public class Auto
{
    private String statoMotore;
    
    public class Meccanico    
    {
        public void aggiustaMotore()
        {
            statoMotore = "buono";
        }
    }    
}

Io però non riesco a capire come possa trasformare così quella classe. Dove sono finiti i costruttori di Auto e Meccanico?