logo

Cum se creează o matrice de obiecte în Java?

Condiție preliminară – Diferite moduri de a crea obiecte în Java

Limbajul de programare Java este totul despre clase si obiecte întrucât este o limbaj de programare orientat pe obiecte . Când avem nevoie de un singur obiect pentru a stoca în programul nostru, o facem cu o variabilă de tip Object. Dar când avem de-a face cu numeroase obiecte, atunci este de preferat să folosim un Array of Objects.



Matricea de obiecte cu numele însuși sugerează că stochează o matrice de obiecte. Spre deosebire de matricea tradițională, stochează valori precum șir, întreg, boolean etc Matrice de obiecte magazine obiecte asta înseamnă că obiectele sunt stocate ca elemente ale unui tablou. Rețineți că atunci când spunem Matrice de obiecte nu obiectul în sine este stocat în matrice, ci referința obiectului.

Crearea unei matrice de obiecte în Java -

O matrice de obiecte este creată folosind Clasa de obiecte și știm că Object class este clasa rădăcină a tuturor Claselor.



Noi folosim Numele clasei urmată de o paranteză pătrată [] apoi nume de referință la obiect pentru a crea un Array of Objects.

Class_Name[ ] objectArrayReference;>

Alternativ, putem declara și o matrice de obiecte ca:

Class_Name objectArrayReference[ ];>

Ambele declarații de mai sus implică faptul că objectArrayReference este o serie de obiecte.



De exemplu, dacă aveți o clasă Student, atunci putem crea o matrice de obiecte Student așa cum este prezentat mai jos:

np.random.rand
Student[ ] studentObjects; Or Student studentObjects[];>

Instanțiați matricea de obiecte -

Sintaxă:

Class_Name obj[ ]= new Class_Name[Array_Length];>

De exemplu, dacă aveți o clasă Student și dorim să declarăm și să instanțiem o matrice de obiecte Student cu două obiecte/referințe la obiect, atunci aceasta va fi scrisă ca:

Student[ ] studentObjects = new Student[2];>

Și odată ce o matrice de obiecte este instanțiată astfel, atunci elementele individuale ale matricei de obiecte trebuie create folosind noul cuvânt cheie.

Figura de mai jos arată structura unui tablou de obiecte:

Inițializarea matricei de obiecte

Odată ce matricea de obiecte este instanțiată, trebuie să o inițializam cu valori. Nu putem inițializa matricea în modul în care inițializam cu tipuri primitive, deoarece este diferită de o matrice de tipuri primitive. Într-o matrice de obiecte, trebuie să inițializam fiecare element al matricei, adică fiecare referință obiect/obiect trebuie inițializată.

Diferite moduri de a inițializa matricea de obiecte:

  1. Prin folosirea constructorilor
  2. Prin utilizarea unei metode de membru separat

1. Folosind constructorul:

În momentul creării obiectelor reale, putem atribui valori inițiale fiecăruia dintre obiecte, pasând valori către constructor separat. Obiectele reale individuale sunt create cu valorile lor distincte.

cum se deschide un fișier în java

Programul de mai jos arată cum este inițializată matricea de obiecte folosind constructorul.

Java




// 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();> >}> }>

>

exemplu de arbore binar de căutare

>

Ieșire

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. Prin utilizarea unei metode separate de membru:

Folosind o metodă de membru separat, de asemenea, putem inițializa obiecte. A funcția de membru a clasei respective este creată și care este folosită pentru a atribui obiectelor valorile inițiale.

Programul de mai jos arată modul în care matricea de obiecte este inițializată folosind o metodă de membru separat.

Java




c++ convertește int în șir

// 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();> >}> }>

>

>

Ieșire

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>

Să vedem un alt exemplu în care o matrice de obiecte este declarată cu valori inițiale:

crearea tabelului oracol

Aici declararea unui tablou de obiecte se face prin adăugarea valorilor inițiale.

Java




// 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>]);> >}> }>

>

>

Ieșire

Maruti 2019 Suzuki 2019>