logo

Perché utilizziamo il costruttore in Java?

In questa sezione impareremo perché usiamo un costruttore in Java E qual è lo scopo E esigenza del costruttore . Insieme a questo vedremo anche il tipologie del costruttore.

In Giava, il costruttore è simile al metodo. La proprietà del costruttore è che deve avere lo stesso nome del nome della classe. Non ha un tipo di reso. Non è necessario chiamare manualmente il costruttore. Si richiama automaticamente implicitamente durante l'istanziazione.

In altre parole, un costruttore è un metodo che viene chiamato in fase di runtime durante la creazione dell'oggetto utilizzando l'operatore new. La JVM lo chiama automaticamente quando creiamo un oggetto. Quando non definiamo un costruttore nella classe, il costruttore predefinito è sempre presente in modo invisibile nella classe. Esistono i seguenti motivi per utilizzare i costruttori:

rimuovendo l'ultimo commit git
  • Usiamo i costruttori per inizializzare l'oggetto con lo stato predefinito o iniziale. I valori predefiniti per le primitive potrebbero non essere quelli che stai cercando.
  • Un altro motivo per utilizzare il costruttore è che informa sulle dipendenze. In altre parole, utilizzando il costruttore, possiamo richiedere all'utente di quella classe le dipendenze richieste.
  • Possiamo scoprire di cosa ha bisogno per utilizzare questa classe, semplicemente guardando il costruttore.

In breve, usiamo il costruttore per inizializza la variabile di istanza della classe.

Tipi di costruttori

In Java esistono due tipi di costruttori:

Codici di errore di Linux
  • Costruttore parametrizzato
  • Costruttore predefinito

Costruttore parametrizzato

Come suggerisce il nome, accetta argomenti (parametri). Il costruttore parametrizzato viene utilizzato se vogliamo inizializzare dinamicamente le variabili di istanza con i valori specificati al momento dell'istanziazione.

Esempio

 public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } } 

Costruttore predefinito

Il costruttore predefinito non accetta alcun parametro. Viene utilizzato se vogliamo inizializzare le variabili di istanza con determinati valori. Ogni classe Java ha un costruttore predefinito, in modo invisibile. Quindi, non abbiamo bisogno di definirlo separatamente. Ricorda che il costruttore predefinito viene rimosso dalla classe quando creiamo un costruttore con parametri.

Esempio

array java
 public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } } 

Nota: quando non forniamo alcun costruttore a un programma Java, il compilatore Java scrive il costruttore predefinito per conto del programmatore e compila il programma. Inizializza le variabili di istanza con i valori predefiniti. Ad esempio, 0 per intero, 0.0 per float e null per String.

Creiamo un programma e utilizziamo il costruttore predefinito e parametrizzato.

Nella classe Employee abbiamo creato due costruttori, uno è il costruttore predefinito e l'altro è il costruttore con parametri. La classe Employee ha due variabili private, vale a dire nome ed età. Nel metodo main abbiamo istanziato la classe e utilizzato entrambi i costruttori.

Dipendente.java

 import java.util.Scanner; public class Employee { private String name; private int age; //parameterized constructor public Employee(String name, int age) { this.name =name; this.age = age; } //Default constructor public Employee() { this.name = 'William'; this.age = 28; } //method for printing the values public void show() { System.out.println('Name of the employee: '+this.name); System.out.println('Age of the employee: '+this.age); } //main method public static void main(String args[]) { Employee e=new Employee(); //Reading values from user Scanner sc = new Scanner(System.in); System.out.println('Enter the name of the employee: '); String name = sc.nextLine(); System.out.println('Enter the age of the employee: '); int age = sc.nextInt(); System.out.println(' '); //Calling the parameterized constructor System.out.println('Show() method for the parameterized constructor: '); new Employee(name, age).show(); //Calling the default constructor System.out.println('Show() method for the default constructor: '); new Employee().show(); } } 

Produzione:

 Enter the name of the employee: David Enter the age of the employee: 27 Show() method for the parameterized constructor: Name of the employee: David Age of the employee: 27 Show() method for the default constructor: Name of the employee: William Age of the employee: 28