La sentencia new: invocación de un constructor para crear objetos en Java. Concepto y ejemplos. (CU00643B)

Resumen: Entrega nº43 del curso "Aprender programación Java desde cero".
Codificación aprenderaprogramar.com: CU00643B

 

 

LA SENTENCIA NEW COMO INVOCACIÓN DE UN CONSTRUCTOR EN JAVA

En el ejemplo anterior hemos visto cómo usar el entorno de desarrollo BlueJ para crear objetos en Java. La forma de creación de objetos ha sido a través del IDE y con una visualización gráfica Si escribiéramos el código correspondiente a lo que hemos hecho en el ejemplo anterior usando los iconos de BlueJ podría ser algo así:

 

/* Ejemplo - aprenderaprogramar.com */

Taxi taxi1 = new Taxi(); //Creación de un objeto tipo Taxi

Persona persona1 = new Persona(); //Creación de un objeto tipo Persona

TaxiCond taxiCond1 = new TaxiCond (taxi1, persona1);  /*Creación de un objeto tipo TaxiCond pasando como parámetros otros objetos creados previamente*/

 

 

Tener en cuenta que cuando incluimos como atributo de una clase un objeto usando una sintaxis del tipo: private NombreDeLaOtraClase nombreDelObjeto;, con esta declaración estamos creando la variable apuntadora (referencia) al objeto, pero el objeto en sí mismo todavía no se ha creado. La creación del objeto en código se indica usando esta sintaxis:

nombreDelObjeto = new NombreDeLaOtraClase (parámetros requeridos por el constructor de la otra clase si los hubiera);

 

Recordar que la variable nombreDelObjeto contiene una referencia (puntero) al objeto, no el objeto en sí mismo. La instrucción new implica que se producen dos acciones:

a)      Creación de un objeto de un tipo definido por una clase.

b)      Ejecución del constructor asociado.

 

Si una clase define varios constructores, el constructor invocado por la sentencia new es el que coincide en número y tipo de parámetros con los utilizados en la sentencia new. Por ejemplo: taxi1 = new Taxi(); invoca al constructor general, mientras que taxi1 = new Taxi (“BFG-7432”) invoca al constructor que requiere un String como parámetro. new Taxi (“BFG-7432”, “Oeste”) invocaría al constructor que requiere dos String como parámetros. new Taxi (“BFG-7432”, “Oeste”, 2) invocaría al constructor que requiere dos String y un entero como parámetros, etc. No puede haber dos constructores que requieran el mismo número y tipo de parámetros (por ejemplo dos constructores que requieran un String) porque eso generaría una ambigüedad que daría lugar a un error de compilación.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. JavaScript, jQuery
5. .NET, C#
6. HTML, CSS
7. Android, iOS
8. Php, MySql


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación