Menu
Coddy logo textTech

Método constructor

Parte de la sección Programación Orientada a Objetos del Journey de Java de Coddy — lección 7 de 87.

Un constructor es un método especial que se ejecuta automáticamente cuando creas un objeto con new. Tiene el mismo nombre que la clase y no tiene tipo de retorno.

Constructor básico

public class Book {
    private String title;
    private String author;
    
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

Constructor por defecto (sin parámetros)

public class Book {
    private String title;
    
    public Book() {
        this.title = "Unknown";
    }
}

El constructor inicializa el estado del objeto

Book book = new Book("1984", "Orwell");
// El constructor se ejecuta inmediatamente, los campos se establecen

Si no escribes un constructor, Java proporciona uno vacío por defecto. Una vez que escribes cualquier constructor, el que viene por defecto ya no se proporciona automáticamente.

challenge icon

Desafío

Intermedio

Crea una clase Book con un constructor que inicialice todos los campos:

  • Campos privados: title, author (String), pages (int)
  • Un constructor que reciba los tres valores y los asigne usando this
  • Métodos getter para cada campo
  • Un método getSummary() que devuelva "<title> by <author> (<pages> pages)"

Hoja de referencia

Un constructor es un método especial que se ejecuta automáticamente cuando creas un objeto con new. Tiene el mismo nombre que la clase y no tiene tipo de retorno.

Constructor básico:

public class Book {
    private String title;
    private String author;
    
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

Constructor por defecto (sin parámetros):

public class Book {
    private String title;
    
    public Book() {
        this.title = "Unknown";
    }
}

Usar un constructor para crear un objeto:

Book book = new Book("1984", "Orwell");
// El constructor se ejecuta inmediatamente, los campos se establecen

Si no escribes un constructor, Java proporciona uno vacío por defecto. Una vez que escribes cualquier constructor, el predeterminado ya no se proporciona automáticamente.

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        int pages = Integer.parseInt(scanner.nextLine());
        
        Book book = new Book(title, author, pages);
        
        System.out.println("Title: " + book.getTitle());
        System.out.println("Author: " + book.getAuthor());
        System.out.println("Pages: " + book.getPages());
        System.out.println(book.getSummary());
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos