Requisito previo: diferentes formas de crear objetos en Java
El lenguaje de programación Java tiene que ver con clases y objetos , ya que es un lenguaje de programación orientado a objetos . Cuando requerimos un solo objeto para almacenar en nuestro programa lo hacemos con una variable de tipo Objeto. Pero cuando tratamos con numerosos objetos, es preferible utilizar una array de objetos.
La array de objetos El nombre en sí sugiere que almacena una array de objetos. A diferencia de la array tradicional almacena valores como strings, enteros, booleanos, etc., una array de objetos almacena objetos que significan que los objetos se almacenan como elementos de una array. Tenga en cuenta que cuando decimos array de objetos , no es el objeto en sí el que se almacena en la array, sino la referencia del objeto.
Crear una array de objetos en Java –
Una array de objetos se crea utilizando la clase de objeto , y sabemos que la clase de objeto es la clase raíz de todas las clases.
Usamos Class_Name seguido de un corchete [] y luego el nombre de referencia del objeto para crear una array de objetos.
Class_Name[ ] objectArrayReference;
Alternativamente, también podemos declarar una array de objetos como:
Class_Name objectArrayReference[ ];
Ambas declaraciones anteriores implican que objectArrayReference es una array de objetos.
Por ejemplo, si tiene una clase Student, podemos crear una array de objetos Student como se indica a continuación:
Student[ ] studentObjects; Or Student studentObjects[];
Crea una instancia de la array de objetos:
Sintaxis:
Class_Name obj[ ]= new Class_Name[Array_Length];
Por ejemplo, si tiene una clase Student y queremos declarar e instanciar una array de objetos Student con dos objetos/referencias de objeto, se escribirá como:
Student[ ] studentObjects = new Student[2];
Y una vez que se crea una instancia de una array de objetos de esta manera, los elementos individuales de la array de objetos deben crearse utilizando la nueva palabra clave.
La siguiente figura muestra la estructura de un Array of Objects:
Inicializando array de objetos
Una vez que se crea una instancia de la array de objetos, debemos inicializarla con valores. No podemos inicializar la array de la forma en que inicializamos con tipos primitivos, ya que es diferente de una array de tipos primitivos. En una array de objetos, tenemos que inicializar cada elemento de la array, es decir, cada objeto/referencia de objeto debe inicializarse.
Diferentes formas de inicializar la array de objetos:
- Usando los constructores
- Usando un método de miembro separado
1. Usando el constructor:
Al momento de crear objetos reales, podemos asignar valores iniciales a cada uno de los objetos pasando valores al constructor por separado. Los objetos reales individuales se crean con sus valores distintos.
El siguiente programa muestra cómo se inicializa la array de objetos usando el constructor.
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(); } }
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. Mediante el uso de un método de miembro separado:
Al usar un método de miembro separado también podemos inicializar objetos. Se crea una función miembro de la clase respectiva y se utiliza para asignar los valores iniciales a los objetos.
El siguiente programa muestra cómo se inicializa la array de objetos usando un método de miembro separado.
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 clas 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(); } }
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
Veamos otro ejemplo donde se declara una array de objetos con valores iniciales:
Aquí, la declaración de una array de objetos se realiza agregando valores iniciales.
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]); } }
Producción
Maruti 2019 Suzuki 2019
Publicación traducida automáticamente
Artículo escrito por Satyabrata_Jena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA