logo

Objetos y clases en Java

  1. Objeto en Java
  2. clase en java
  3. Variable de instancia en Java
  4. Método en Java
  5. Ejemplo de Objeto y clase que mantiene los registros del estudiante
  6. Objeto anónimo

En esta página, aprenderemos sobre los objetos y clases de Java. En la técnica de programación orientada a objetos, diseñamos un programa utilizando objetos y clases.

Un objeto en Java es una entidad física y lógica, mientras que una clase en Java es únicamente una entidad lógica.

¿Qué es un objeto en Java?

objeto en java

Una entidad que tiene estado y comportamiento se conoce como objeto, por ejemplo, silla, bicicleta, marcador, bolígrafo, mesa, automóvil, etc. Puede ser físico o lógico (tangible e intangible). El ejemplo de un objeto intangible es el sistema bancario.

Un objeto tiene tres características:

    Estado:Representa los datos (valor) de un objeto.Comportamiento:representa el comportamiento (funcionalidad) de un objeto como depositar, retirar, etc.Identidad:La identidad de un objeto normalmente se implementa mediante una identificación única. El valor del ID no es visible para el usuario externo. Sin embargo, la JVM lo utiliza internamente para identificar cada objeto de forma única.
Características del objeto en Java

Por ejemplo, Pen es un objeto. Su nombre es Reynolds; El color es blanco, conocido como su estado. Se utiliza para escribir, por lo que escribir es su comportamiento.

Un objeto es una instancia de una clase. Una clase es una plantilla o modelo a partir del cual se crean objetos. Entonces, un objeto es la instancia (resultado) de una clase.

Definiciones de objetos:

  • un objeto es una entidad del mundo real .
  • un objeto es una entidad de tiempo de ejecución .
  • El objeto es una entidad que tiene estado y comportamiento .
  • El objeto es una instancia de una clase .

¿Qué es una clase en Java?

Una clase es un grupo de objetos que tienen propiedades comunes. Es una plantilla o plano a partir del cual se crean los objetos. Es una entidad lógica. No puede ser físico.

Una clase en Java puede contener:

    Campos Métodos Constructores Bloques Clase e interfaz anidadas
clase en java

Sintaxis para declarar una clase:

 class { field; method; } 

Variable de instancia en Java

Una variable que se crea dentro de la clase pero fuera del método se conoce como variable de instancia. La variable de instancia no obtiene memoria en el momento de la compilación. Obtiene memoria en tiempo de ejecución cuando se crea un objeto o instancia. Por eso se la conoce como variable de instancia.


Método en Java

En Java, un método es como una función que se utiliza para exponer el comportamiento de un objeto.

Ventaja del método

  • Reutilización del código
  • Optimización de código

nueva palabra clave en Java

La nueva palabra clave se utiliza para asignar memoria en tiempo de ejecución. Todos los objetos obtienen memoria en el área de memoria del montón.


Ejemplo de objeto y clase: principal dentro de la clase

En este ejemplo, hemos creado una clase de Estudiante que tiene dos miembros de datos, identificación y nombre. Estamos creando el objeto de la clase Estudiante con una nueva palabra clave e imprimiendo el valor del objeto.

Aquí, estamos creando un método main() dentro de la clase.

Archivo: Estudiante.java

 //Java Program to illustrate how to define a class and fields //Defining a Student class. class Student{ //defining fields int id;//field or data member or instance variable String name; //creating main method inside the Student class public static void main(String args[]){ //Creating an object or instance Student s1=new Student();//creating an object of Student //Printing values of the object System.out.println(s1.id);//accessing member through reference variable System.out.println(s1.name); } } 
Pruébalo ahora

Producción:

 0 null 

Ejemplo de objeto y clase: principal fuera de la clase

En el desarrollo en tiempo real, creamos clases y las usamos desde otra clase. Es un enfoque mejor que el anterior. Veamos un ejemplo simple, donde tenemos el método main() en otra clase.

convertir cadena en fecha

Podemos tener varias clases en diferentes archivos Java o en un solo archivo Java. Si define varias clases en un único archivo fuente Java, es una buena idea guardar el nombre del archivo con el nombre de la clase que tiene el método main().

Archivo: TestStudent1.java

 //Java Program to demonstrate having the main method in //another class //Creating Student class. class Student{ int id; String name; } //Creating another class TestStudent1 which contains the main method class TestStudent1{ public static void main(String args[]){ Student s1=new Student(); System.out.println(s1.id); System.out.println(s1.name); } } 
Pruébalo ahora

Producción:

 0 null 

3 formas de inicializar un objeto

Hay 3 formas de inicializar un objeto en Java.

  1. Por variable de referencia
  2. Por método
  3. Por constructor

1) Ejemplo de objeto y clase: inicialización mediante referencia

Inicializar un objeto significa almacenar datos en el objeto. Veamos un ejemplo sencillo donde vamos a inicializar el objeto mediante una variable de referencia.

Archivo: TestStudent2.java

 class Student{ int id; String name; } class TestStudent2{ public static void main(String args[]){ Student s1=new Student(); s1.id=101; s1.name='Sonoo'; System.out.println(s1.id+' '+s1.name);//printing members with a white space } } 
Pruébalo ahora

Producción:

 101 Sonoo 

También podemos crear múltiples objetos y almacenar información en ellos a través de una variable de referencia.

Archivo: TestStudent3.java

 class Student{ int id; String name; } class TestStudent3{ public static void main(String args[]){ //Creating objects Student s1=new Student(); Student s2=new Student(); //Initializing objects s1.id=101; s1.name='Sonoo'; s2.id=102; s2.name='Amit'; //Printing data System.out.println(s1.id+' '+s1.name); System.out.println(s2.id+' '+s2.name); } } 
Pruébalo ahora

Producción:

 101 Sonoo 102 Amit 

2) Ejemplo de objeto y clase: inicialización mediante método

En este ejemplo, estamos creando los dos objetos de la clase Student e inicializando el valor de estos objetos invocando el método insertRecord. Aquí, mostramos el estado (datos) de los objetos invocando el método displayInformation().

Archivo: TestStudent4.java

 class Student{ int rollno; String name; void insertRecord(int r, String n){ rollno=r; name=n; } void displayInformation(){System.out.println(rollno+' '+name);} } class TestStudent4{ public static void main(String args[]){ Student s1=new Student(); Student s2=new Student(); s1.insertRecord(111,'Karan'); s2.insertRecord(222,'Aryan'); s1.displayInformation(); s2.displayInformation(); } } 
Pruébalo ahora

Producción:

 111 Karan 222 Aryan 
Objeto en Java con valores

Como puede ver en la figura anterior, el objeto obtiene la memoria en el área de memoria del montón. La variable de referencia se refiere al objeto asignado en el área de memoria del montón. Aquí, s1 y s2 son variables de referencia que se refieren a los objetos asignados en la memoria.

comando táctil en linux

3) Ejemplo de objeto y clase: inicialización a través de un constructor

Más adelante aprenderemos sobre los constructores en Java.


Ejemplo de objeto y clase: empleado

Veamos un ejemplo en el que mantenemos registros de empleados.

Archivo: TestEmployee.java

 class Employee{ int id; String name; float salary; void insert(int i, String n, float s) { id=i; name=n; salary=s; } void display(){System.out.println(id+' '+name+' '+salary);} } public class TestEmployee { public static void main(String[] args) { Employee e1=new Employee(); Employee e2=new Employee(); Employee e3=new Employee(); e1.insert(101,'ajeet',45000); e2.insert(102,'irfan',25000); e3.insert(103,'nakul',55000); e1.display(); e2.display(); e3.display(); } } 
Pruébalo ahora

Producción:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Ejemplo de objeto y clase: rectángulo

Se da otro ejemplo que mantiene los registros de la clase Rectángulo.

Archivo: TestRectangle1.java

 class Rectangle{ int length; int width; void insert(int l, int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle1{ public static void main(String args[]){ Rectangle r1=new Rectangle(); Rectangle r2=new Rectangle(); r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Pruébalo ahora

Producción:

 55 45 

¿Cuáles son las diferentes formas de crear un objeto en Java?

Hay muchas formas de crear un objeto en Java. Ellos son:

  • Por nueva palabra clave
  • Por el método newInstance()
  • Por el método clonar()
  • Por deserialización
  • Por método de fábrica, etc.

Aprenderemos estas formas de crear objetos más adelante.

Diferentes formas de crear un objeto en Java

Objeto anónimo

Anónimo simplemente significa sin nombre. Un objeto que no tiene referencia se conoce como objeto anónimo. Sólo se puede utilizar en el momento de la creación del objeto.

Si tiene que utilizar un objeto sólo una vez, un objeto anónimo es una buena solución. Por ejemplo:

 new Calculation();//anonymous object 

Método de llamada a través de una referencia:

 Calculation c=new Calculation(); c.fact(5); 

Método de llamada a través de un objeto anónimo.

 new Calculation().fact(5); 

Veamos el ejemplo completo de un objeto anónimo en Java.

 class Calculation{ void fact(int n){ int fact=1; for(int i=1;i<=n;i++){ fact="fact*i;" } system.out.println('factorial is '+fact); public static void main(string args[]){ new calculation().fact(5); calling method with anonymous object < pre> <p>Output:</p> <pre> Factorial is 120 </pre> <a id="objectbyonetype"></a> <h3>Creating multiple objects by one type only</h3> <p>We can create multiple objects by one type only as we do in case of primitives.</p> <p>Initialization of primitive variables:</p> <pre> int a=10, b=20; </pre> <p>Initialization of refernce variables:</p> <pre> Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects </pre> <p>Let&apos;s see the example:</p> <pre> //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } </pre> <span> Test it Now </span> <p>Output:</p> <pre> 55 45 </pre> <h3>Real World Example: Account</h3> <p>File: TestAccount.java</p> <pre> //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println('insufficient balance'); }else{ amount="amount-amt;" system.out.println(amt+' withdrawn'); } method to check the balance of account void checkbalance(){system.out.println('balance is: '+amount);} display values an object display(){system.out.println(acc_no+' '+name+' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,'ankit',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){></pre></=n;i++){>

Crear múltiples objetos de un solo tipo

Podemos crear múltiples objetos de un solo tipo como lo hacemos en el caso de los primitivos.

Inicialización de variables primitivas:

 int a=10, b=20; 

Inicialización de variables de referencia:

 Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects 

Veamos el ejemplo:

 //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Pruébalo ahora

Producción:

 55 45 

Ejemplo del mundo real: cuenta

Archivo: TestAccount.java

 //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println(\'insufficient balance\'); }else{ amount="amount-amt;" system.out.println(amt+\' withdrawn\'); } method to check the balance of account void checkbalance(){system.out.println(\'balance is: \'+amount);} display values an object display(){system.out.println(acc_no+\' \'+name+\' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,\'ankit\',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){>