Come creare una serie di oggetti in Java?
Prerequisito – Diversi modi per creare oggetti in Java
Il linguaggio di programmazione Java è tutto classi e oggetti in quanto è un linguaggio di programmazione orientato agli oggetti . Quando richiediamo un singolo oggetto da memorizzare nel nostro programma, lo facciamo con una variabile di tipo Object. Ma quando abbiamo a che fare con numerosi oggetti, allora è preferibile utilizzare un Array of Objects.
L'array di oggetti, il nome stesso suggerisce che memorizza un array di oggetti. A differenza dell'array tradizionale, memorizza valori come String, Integer, Boolean, ecc Matrice di oggetti I negozi oggetti ciò significa che gli oggetti vengono memorizzati come elementi di un array. Tieni presente che quando diciamo Matrice di oggetti non è l'oggetto stesso ad essere memorizzato nell'array ma il riferimento dell'oggetto.
Creazione di una serie di oggetti in Java –
Una serie di oggetti viene creata utilizzando il file Classe dell'oggetto e sappiamo che la classe Object è la classe radice di tutte le classi.
Noi usiamo il Nome della classe seguito da una parentesi quadra [] quindi il nome di riferimento dell'oggetto per creare una serie di oggetti.
Class_Name[ ] objectArrayReference;
In alternativa, possiamo anche dichiarare un array di oggetti come:
Class_Name objectArrayReference[ ];
Entrambe le dichiarazioni di cui sopra lo implicano oggettoArrayReference è un array di oggetti.
Ad esempio, se hai una classe Student, possiamo creare un array di oggetti Student come indicato di seguito:
Student[ ] studentObjects; Or Student studentObjects[];
Istanziare l'array di oggetti –
Sintassi:
Class_Name obj[ ]= new Class_Name[Array_Length];
Ad esempio, se hai una classe Student e vogliamo dichiarare e istanziare un array di oggetti Student con due oggetti/riferimenti a oggetti, allora verrà scritto come:
Student[ ] studentObjects = new Student[2];
E una volta istanziata una serie di oggetti in questo modo, è necessario creare i singoli elementi della serie di oggetti utilizzando la nuova parola chiave.
La figura seguente mostra la struttura di un array di oggetti:
Inizializzazione della matrice di oggetti
Una volta istanziata la matrice di oggetti, dobbiamo inizializzarla con i valori. Non possiamo inizializzare l'array nel modo in cui inizializziamo con i tipi primitivi poiché è diverso da un array di tipi primitivi. In un array di oggetti, dobbiamo inizializzare ogni elemento dell'array, ovvero ogni oggetto/riferimento oggetto deve essere inizializzato.
Diversi modi per inizializzare l'array di oggetti:
- Utilizzando i costruttori
- Utilizzando un metodo membro separato
1. Utilizzando il costruttore:
Al momento della creazione degli oggetti reali, possiamo assegnare valori iniziali a ciascuno degli oggetti passando i valori a costruttore separatamente. I singoli oggetti reali vengono creati con i loro valori distinti.
Il programma seguente mostra come viene inizializzato l'array di oggetti utilizzando il costruttore.
Giava
// Java program to demonstrate initializing> // an array of objects using constructor> class> GFG {> > public> static> void> main(String args[])> > {> > // Declaring an array of student> > Student[] arr;> > // Allocating memory for 2 objects> > // of type student> > arr => new> Student[> 2> ];> > // Initializing the first element> > // of the array> > arr[> 0> ] => new> Student(> 1701289270> ,> 'Satyabrata'> );> > // Initializing the second element> > // of the array> > arr[> 1> ] => new> Student(> 1701289219> ,> 'Omm Prasad'> );> > // Displaying the student data> > System.out.println(> > 'Student data in student arr 0: '> );> > arr[> 0> ].display();> > System.out.println(> > 'Student data in student arr 1: '> );> > arr[> 1> ].display();> > }> }> // Creating a student class with> // id and name as a attributes> class> Student {> > public> int> id;> > public> String name;> > // Student class constructor> > Student(> int> id, String name)> > {> > this> .id = id;> > this> .name = name;> > }> > // display() method to display> > // the student data> > public> void> display()> > {> > System.out.println(> 'Student id is: '> + id +> ' '> > +> 'and Student name is: '> > + name);> > System.out.println();> > }> }> |
Produzione
Student data in student arr 0: Student id is: 1701289270 and Student name is: Satyabrata Student data in student arr 1: Student id is: 1701289219 and Student name is: Omm Prasad
2. Utilizzando un metodo membro separato:
Utilizzando un metodo membro separato possiamo anche inizializzare gli oggetti. UN funzione membro della rispettiva classe e che viene utilizzato per assegnare i valori iniziali agli oggetti.
Il programma seguente mostra come viene inizializzato l'array di oggetti utilizzando un metodo membro separato.
Giava
// Java program to demonstrate initializing> // an array of objects using a method> class> GFG {> > public> static> void> main(String args[])> > {> > // Declaring an array of student> > Student[] arr;> > // Allocating memory for 2 objects> > // of type student> > arr => new> Student[> 2> ];> > // Creating actual student objects> > arr[> 0> ] => new> Student();> > arr[> 1> ] => new> Student();> > // Assigning data to student objects> > arr[> 0> ].setData(> 1701289270> ,> 'Satyabrata'> );> > arr[> 1> ].setData(> 1701289219> ,> 'Omm Prasad'> );> > // Displaying the student data> > System.out.println(> > 'Student data in student arr 0: '> );> > arr[> 0> ].display();> > System.out.println(> > 'Student data in student arr 1: '> );> > arr[> 1> ].display();> > }> }> // Creating a Student class with> // id and name as a attributes> class> Student {> > public> int> id;> > public> String name;> > // Method to set the data to> > // student objects> > public> void> setData(> int> id, String name)> > {> > this> .id = id;> > this> .name = name;> > }> > // display() method to display> > // the student data> > public> void> display()> > {> > System.out.println(> 'Student id is: '> + id +> ' '> > +> 'and Student name is: '> > + name);> > System.out.println();> > }> }> |
Produzione
Student data in student arr 0: Student id is: 1701289270 and Student name is: Satyabrata Student data in student arr 1: Student id is: 1701289219 and Student name is: Omm Prasad
Vediamo un altro esempio in cui un array di oggetti viene dichiarato con valori iniziali:
Qui la dichiarazione di un array di oggetti viene eseguita aggiungendo valori iniziali.
Giava
// Java program to demonstrate an array> // of objects is declared with initial values.> class> GFG {> > public> static> void> main(String args[])> > {> > // Creating an array of objects> > // declared with initial values> > Object[] javaObjectArray> > = {> 'Maruti'> ,> new> Integer(> 2019> ),> 'Suzuki'> ,> > new> Integer(> 2019> ) };> > // Printing the values> > System.out.println(javaObjectArray[> 0> ]);> > System.out.println(javaObjectArray[> 1> ]);> > System.out.println(javaObjectArray[> 2> ]);> > System.out.println(javaObjectArray[> 3> ]);> > }> }> |
Produzione
Maruti 2019 Suzuki 2019