Būtina sąlyga – įvairūs „Java“ objektų kūrimo būdai
Java programavimo kalba yra apie viską klases ir objektus nes tai yra an Objektinė programavimo kalba . Kai programoje reikia saugoti vieną objektą, tai darome su Object tipo kintamuoju. Tačiau kai susiduriame su daugybe objektų, pageidautina naudoti objektų masyvą.
Objektų masyvo pavadinimas pats rodo, kad jis saugo objektų masyvą. Skirtingai nuo tradicinio masyvo, saugomos tokios vertės kaip String, integer, Boolean ir kt Objektų masyvas parduotuvėse objektų tai reiškia, kad objektai saugomi kaip masyvo elementai. Atkreipkite dėmesį, kad kai sakome Objektų masyvas masyve saugomas ne pats objektas, o objekto nuoroda.
Objektų masyvo kūrimas Java programoje -
Objektų masyvas sukuriamas naudojant Objektų klasė , ir mes žinome, kad objektų klasė yra visų klasių šakninė klasė.
Mes naudojame Klasės_pavadinimas po to laužtiniai skliaustai [] tada objekto nuorodos pavadinimą, kad sukurtumėte objektų masyvą.
Class_Name[ ] objectArrayReference;>
Arba taip pat galime deklaruoti objektų masyvą kaip:
Class_Name objectArrayReference[ ];>
Abi pirmiau pateiktos deklaracijos tai reiškia objectArrayReference yra objektų masyvas.
Pavyzdžiui, jei turite klasės Mokinį, galime sukurti Mokinio objektų masyvą, kaip nurodyta toliau:
šaukštelio dydžio
Student[ ] studentObjects; Or Student studentObjects[];>
Sukurkite objektų masyvą –
Sintaksė:
Class_Name obj[ ]= new Class_Name[Array_Length];>
Pavyzdžiui, jei turite klasę Mokinys, o mes norime deklaruoti ir sukurti Mokinio objektų masyvą su dviem objektais / objektų nuorodomis, tada jis bus parašytas taip:
Student[ ] studentObjects = new Student[2];>
Ir kai objektų masyvas yra taip sugeneruotas, tada atskirus objektų masyvo elementus reikia sukurti naudojant naują raktinį žodį.
Žemiau esančiame paveikslėlyje parodyta objektų masyvo struktūra:

Objektų masyvo inicijavimas
Sukūrę objektų masyvą, turime jį inicijuoti su reikšmėmis. Negalime inicijuoti masyvo taip, kaip inicijuojame su primityviais tipais, nes jis skiriasi nuo primityvių tipų masyvo. Objektų masyve turime inicijuoti kiekvieną masyvo elementą, ty kiekvieną objekto / objekto nuorodą reikia inicijuoti.
Įvairūs būdai inicijuoti objektų masyvą:
css pirmas vaikas
- Naudojant konstruktorius
- Naudojant atskirą nario metodą
1. Naudodami konstruktorių:
Kurdami tikrus objektus, kiekvienam objektui galime priskirti pradines reikšmes, perduodant reikšmes į konstruktorius atskirai. Atskiri faktiniai objektai sukuriami su jų skirtingomis vertėmis.
Žemiau pateikta programa parodo, kaip objektų masyvas inicijuojamas naudojant konstruktorių.
Java
java system.out.println
// 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();> >}> }> |
>
>Išvestis
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. Naudodami atskirą nario metodą :
Naudodami atskirą nario metodą taip pat galime inicijuoti objektus. A nario funkcija sukuriama atitinkama klasė ir naudojama objektams priskirti pradines reikšmes.
Žemiau pateikta programa parodo, kaip objektų masyvas inicijuojamas naudojant atskiro nario metodą.
Java
nfa konvertavimas į dfa
// 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();> >}> }> |
>
>Išvestis
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>
Pažiūrėkime kitą pavyzdį, kai objektų masyvas deklaruojamas su pradinėmis reikšmėmis:
čia objektų masyvo deklaravimas atliekamas pridedant pradines reikšmes.
java masyvo sąrašas
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>]);> >}> }> |
>
>
Išvestis
Maruti 2019 Suzuki 2019>