Tracce
/
Java
Java
/
Programma
/
Costruttori
Co

Costruttori in Java

16 esercizi

Informazioni su Costruttori

Creare un'istanza di una classe si fa chiamando il suo costruttore tramite l'operatore new. Un costruttore è un tipo speciale di metodo il cui scopo è inizializzare un'istanza appena creata. I costruttori assomigliano ai metodi normali, ma non hanno un tipo di ritorno e hanno un nome che coincide con quello della classe.

class Library {
    private int books;

    public Library() {
        this.books = 10;
    }
}

// This will call the constructor
var library = new Library();

Come i metodi normali, i costruttori possono avere dei parametri. I parametri del costruttore di solito vengono memorizzati come campi (privati) a cui accedere in seguito, oppure usati in qualche calcolo una tantum. Gli argomenti possono essere passati ai costruttori proprio come si passano gli argomenti ai metodi normali.

class Building {
    private int numberOfStories;
    private int totalHeight;

    public Building(int numberOfStories, double storyHeight) {
        this.numberOfStories = numberOfStories;
        this.totalHeight = numberOfStories * storyHeight;
    }
}

// Call a constructor with two arguments
var largeBuilding = new Building(55, 6.2)

Specificare un costruttore è facoltativo. Se non viene specificato alcun costruttore, il compilatore ne genera uno senza parametri:

class Elevator {
}

// This will call the (empty) generated constructor
var elevator = new Elevator();

Se ai campi è assegnato un valore iniziale, il compilatore produrrà codice in cui l'assegnazione avviene in realtà all'interno del costruttore. Le seguenti dichiarazioni di classe sono quindi equivalenti (dal punto di vista del funzionamento):

class UsingFieldInitialization {
    private int players = 5;
}

class UsingConstructorInitialization {
    private int players;

    public UsingConstructorInitialization() {
        players = 5;
    }
}
Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Costruttori