Forudsætning – Forskellige måder at oprette objekter på i Java
Java programmeringssprog handler om klasser og objekter som det er en objektorienteret programmeringssprog . Når vi kræver et enkelt objekt at gemme i vores program, gør vi det med en variabel af typen Objekt. Men når vi beskæftiger os med adskillige objekter, foretrækkes det at bruge en Array of Objects.
Mængden af objekter, selve navnet antyder, at den gemmer en array af objekter. I modsætning til det traditionelle array lagrer værdier som String, integer, Boolean osv Array af objekter butikker genstande det betyder, at objekter gemmes som elementer i et array. Bemærk, at når vi siger Array af objekter det er ikke selve objektet, der er gemt i arrayet, men objektets reference.
Oprettelse af en række objekter i Java -
En matrix af objekter oprettes ved hjælp af Objektklasse , og vi ved, at Objektklassen er rodklassen for alle klasser.
Vi bruger Klasse_navn efterfulgt af en firkantet parentes [] derefter objektreferencenavn for at oprette en matrix af objekter.
Class_Name[ ] objectArrayReference;>
Alternativt kan vi også erklære en matrix af objekter som:
Class_Name objectArrayReference[ ];>
Begge ovenstående erklæringer indebærer det objectArrayReference er en række objekter.
For eksempel, hvis du har en elev i klassen, kan vi oprette en række elevobjekter som angivet nedenfor:
byte array til streng
Student[ ] studentObjects; Or Student studentObjects[];>
Instantiér rækken af objekter –
Syntaks:
Class_Name obj[ ]= new Class_Name[Array_Length];>
For eksempel, hvis du har en klasse Student, og vi ønsker at erklære og instansiere en matrix af Student-objekter med to objekter/objektreferencer, vil det blive skrevet som:
Student[ ] studentObjects = new Student[2];>
Og når først en række af objekter er instansieret på denne måde, så skal de enkelte elementer i rækken af objekter oprettes ved hjælp af det nye nøgleord.
Nedenstående figur viser strukturen af et array af objekter:
dynamisk array i java
Initialisering af array af objekter
Når rækken af objekter er instantieret, skal vi initialisere den med værdier. Vi kan ikke initialisere arrayet på den måde, vi initialiserer med primitive typer, da det er forskelligt fra et array af primitive typer. I et array af objekter skal vi initialisere hvert element i array, dvs. hver objekt-/objektreference skal initialiseres.
Forskellige måder at initialisere rækken af objekter på:
- Ved at bruge konstruktørerne
- Ved at bruge en separat medlemsmetode
1. Ved at bruge konstruktøren:
På tidspunktet for oprettelse af faktiske objekter kan vi tildele startværdier til hvert af objekterne ved at overføre værdier til konstruktør separat. Individuelle faktiske objekter skabes med deres særskilte værdier.
Nedenstående program viser, hvordan arrayet af objekter initialiseres ved hjælp af konstruktøren.
Java
git checkout
// 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();> > }> }> |
>
>Produktion
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. Ved at bruge en separat medlemsmetode:
Ved at bruge en separat medlemsmetode kan vi også initialisere objekter. EN medlemsfunktion af den respektive klasse oprettes, og det bruges til at tildele de initiale værdier til objekterne.
linux hvordan man omdøber en mappe
Nedenstående program viser, hvordan arrayet af objekter initialiseres ved hjælp af en separat medlemsmetode.
Java
// 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();> > }> }> |
>
>Produktion
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>
Lad os se et andet eksempel, hvor en matrix af objekter er erklæret med startværdier:
Her erklæring af en række objekter udføres ved at tilføje initialværdier.
Java
git add --all
// 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> ]);> > }> }> |
>
>
Produktion
Maruti 2019 Suzuki 2019>