Buongiorno, ammetto che la domanda è un tantino generica, ma proverò a farmi capire con un esempio.
Io ho questa classe:
codice:
public abstract class SoluzioneAbitativa {

    public static final int COSTO_FISSO = 100;


    private int numero;
    private int metriQuadri;
    private int maxOccupanti;
    private boolean libera;
    private int numeroOccupanti;
    private String intestatario;
    private ArrayList<Servizio> servizi = new ArrayList<>();
    private int costo;


    public SoluzioneAbitativa(int numero, int metriQuadri, int maxOccupanti) {
        this.numero = numero;
        this.metriQuadri = metriQuadri;
        this.maxOccupanti = maxOccupanti;
        this.numeroOccupanti = 0;
        this.intestatario = null;
        this.libera = true;
    }


    public ArrayList<Servizio> getServizi() {
        return servizi;
    }


    public void setServizi(ArrayList<Servizio> servizi) {
        this.servizi = servizi;
    }


    public int getNumero() {
        return numero;
    }


    public int getMetriQuadri() {
        return metriQuadri;
    }


    public int getMaxOccupanti() {
        return maxOccupanti;
    }


    public boolean isLibera() {
        if (this.numeroOccupanti == 0) {
            libera = true;
        } else {
            libera = false;
        }
        return libera;
    }


    public int getNumeroOccupanti() {
        return numeroOccupanti;
    }


    public String getIntestatario() {
        return intestatario;
    }


    public void setMaxOccupanti(int maxOccupanti) {
        this.maxOccupanti = maxOccupanti;
    }


    public void setLibera(boolean libera) {
        this.libera = libera;
    }


    public void setNumeroOccupanti(int numeroOccupanti) {
        this.numeroOccupanti = numeroOccupanti;
    }


    public void setIntestatario(String intestatario) {
        this.intestatario = intestatario;
    }


    public int getCosto() {
        return costo;
    }


    public void setCosto(int costo) {
        this.costo = costo;
    }


    public abstract void calcolaCosto();


    public void modificaOccupanti(int nuovoNumero) {
        if (getMaxOccupanti() >= nuovoNumero) {
            setNumeroOccupanti(nuovoNumero);
        } else {
            try {
                throw new Exception("Troppi occupanti");
            } catch (Exception ex) {
                setNumeroOccupanti(getMaxOccupanti());
            }
        }


    }
}
che rappresenta, che so, una camera d'albergo. Ora, io la instanzio specificando quanto c'è nel costruttore a partire da un file (quindi le informazioni iniziali le ho). Però poi ho necessità di instanziarla a partire dal solo numero (in stile albergo insomma). Come faccio? Ho provato a usare this(...), ma ho creato solo confusione. Grazie