Cómo crear constructores en java

Video: Turorial Constructores JAVA, Netbeans

UN constructor es un bloque de código que se llama cuando se crea una instancia de un objeto en Java. En muchos sentidos, un constructor es similar a un método, pero existen algunas diferencias:

Video: Como aprender java - Constructores en Java y creacion de objetos

  • Un constructor no tiene un tipo de retorno.

  • El nombre del constructor debe ser el mismo que el nombre de la clase.

  • A diferencia de los métodos, los constructores no son considerados como miembros de una clase. (Esto es importante cuando se trata de la herencia).

  • Un constructor se llama cuando se crea una nueva instancia de un objeto. De hecho, es la nueva palabra clave que llama al constructor. Después de crear el objeto, no se puede llamar al constructor de nuevo.

Aquí está el formato básico para la codificación de un constructor:

Video: como hacer un Constructor en java NetBeans

público Nombre de la clase (parámetro-list) [Tiros excepción...] {declaraciones ...}

La palabra clave pública indica que otras clases pueden tener acceso al constructor. Eso es por lo general lo que quiere, aunque es posible que desee crear un constructor privado. Nombre de la clase debe ser el mismo que el nombre de la clase que contiene el constructor. Codificar la lista de parámetros de la misma manera que se codifican por un método.

Observe también que un constructor puede lanzar excepciones si se encuentra con situaciones que no puede recuperarse.

Creación de constructores básicos

Probablemente la razón más común para la codificación de un constructor es proporcionar valores iniciales para los campos de la clase cuando se crea el objeto. Suponga que tiene un actor llamado clase que tiene campos denominados nombre y apellido. Se puede crear un constructor de la clase Actor:

Actor pública (String primera, última cadena) {Nombre = primera lastName = última-}

A continuación, se crea una instancia de la clase Actor llamando a este constructor:

Actor a = new Actor ("Arnold", "Schwarzenegger") -

Se crea un nuevo objeto Actor por Arnold Schwarzenegger.

Al igual que los métodos, los constructores pueden ser sobrecargados. En otras palabras, puede proporcionar más de un constructor para una clase, siempre que cada constructor tiene una firma única. Aquí hay otro constructor de la clase Actor:

Actor pública (String primera, Cadena pasado, buena booleano) {Nombre = primera lastName = último goodActor = bueno-}

Este constructor le permite crear un objeto Actor información además del nombre del actor:

Actor a = new Actor ("Arnold", "Schwarzenegger", False) -

Creación de constructores por defecto

Cada clase tiene derecho a un constructor. Si usted no proporciona un constructor, Java designa a uno para usted, de forma gratuita. Este constructor se llama libre de la constructor por defecto. No acepta ningún parámetro y no hace nada, pero permite su clase para crear una instancia.

Video: Tutorial Java - 25. Constructores En JAVA | UskoKruM2010

Por lo tanto, las dos clases siguientes son idénticos:

pública Class1 {Clase1 pública () {}}} {Clase1 pública

En el primer ejemplo, la clase declara explícitamente un constructor que no acepta ningún parámetro y no tiene declaraciones en su cuerpo. En el segundo ejemplo, Java crea un constructor por defecto que funciona igual que el constructor se muestra en el primer ejemplo.

El constructor por defecto es no creado si se declara ningún constructores de la clase. Como resultado, si se declara un constructor que acepta parámetros y todavía quiere tener un constructor vacío (sin parámetros y ningún cuerpo), debe declarar explícitamente un constructor vacío para la clase.

Un ejemplo puede aclarar este punto hacia arriba. El siguiente código hace no compilar:

public class BadActorApp {public void (String [] args) {a = new Actor Actor () - // error: no se compilará}} {String clase Actor privada lastName-privada Cadena primerNombre-privada booleano goodActor pública Actor (String pasado, primera cadena) {= lastName última Nombre =} pública de primer Actor (String pasado, cadena primera, buena booleano) {= lastName última Nombre = primera goodActor =}} bueno-

Este programa no compilará porque no explícitamente proporcionar un constructor predeterminado para el actor de clase, ya que no proporcionan otros constructores, el constructor por defecto no se genera de forma automática.

Llamar a otros constructores

Un constructor puede llamar a otro constructor de la misma clase utilizando la palabra clave especial esto como una llamada al método. Esta técnica se utiliza comúnmente cuando se tiene varios constructores que construyen el uno del otro.

Considere esta clase:

public class Actor {private String lastName-privada Cadena primerNombre-privada Actor goodActor-public boolean (String pasado, primera cadena) {= lastName última Nombre = primera} Actor pública (String pasado, Cadena primera, buena booleano) {esto ( apellido, nombre) -goodActor =}} bueno-

Aquí el segundo constructor llama al primer constructor para establecer los campos Apellidos y firstName. A continuación, se establece el campo goodActor.

Usted tiene algunas restricciones en el uso de la palabra clave this como una llamada al constructor:

  • Puede llamar a otro constructor sólo en la primera declaración de un constructor. Por lo tanto, el siguiente código no se compilará:

     Actor pública (String pasado, Cadena primera, buena booleano) {goodActor = bueno-este (apellido, nombre) -  // error: no se compilará}

    Si intenta compilar una clase con este constructor, se obtiene un mensaje diciendo llamada a esta declaración debe ser el primero en el constructor.

  • Cada constructor puede llamar sólo a otra constructora, pero se puede constructores de cadena. Si una clase tiene tres constructores, el primer constructor puede llamar a la segunda, que a su vez llama a la tercera.

  • No se puede crear bucles en el que llamar a los constructores entre sí. Aquí está una clase que no se compilará:

    clase CrazyClass{ Private String firstString- Private String secondString- CrazyClass pública (String primera, segunda cadena) { esta (primera) - secondString = segundo } CrazyClass pública (primera cadena) { esta (primera, "DEFECTO") - // error: no lo hará// compile }}

    El primer constructor se inicia mediante una llamada al segundo constructor, que llama al primer constructor. El compilador se queja de que este error es una invocación recursiva constructor y cortésmente se niega a compilar la clase.

Si usted no llama explícitamente un constructor en la primera línea de un constructor, Java inserta código que llama automáticamente al constructor por defecto de la clase base - es decir, la clase que hereda esta clase.

Artículos Relacionados