Menu
Coddy logo textTech

Método Construtor

Parte da seção Programação Orientada a Objetos do Journey de Java da Coddy — lição 7 de 87.

Um construtor é um método especial que é executado automaticamente quando você cria um objeto com new. Ele tem o mesmo nome da classe e nenhum tipo de retorno.

Construtor básico

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

Construtor padrão (sem parâmetros)

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

O construtor inicializa o estado do objeto

Book book = new Book("1984", "Orwell");
// O construtor é executado imediatamente, os campos são definidos

Se você não escrever um construtor, o Java fornece um construtor padrão vazio. Uma vez que você escreva qualquer construtor, o padrão não é mais fornecido automaticamente.

challenge icon

Desafio

Médio

Crie uma classe Book com um construtor que inicializa todos os campos:

  • Campos privados: title, author (String), pages (int)
  • Um construtor que recebe todos os três valores e os atribui usando this
  • Métodos getter para cada campo
  • Um método getSummary() que retorna "<title> by <author> (<pages> pages)"

Folha de consulta

Um construtor é um método especial que é executado automaticamente quando você cria um objeto com new. Ele tem o mesmo nome da classe e nenhum tipo de retorno.

Construtor básico:

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

Construtor padrão (sem parâmetros):

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

Usando um construtor para criar um objeto:

Book book = new Book("1984", "Orwell");
// O construtor é executado imediatamente, os campos são definidos

Se você não escrever um construtor, o Java fornece um padrão vazio. Assim que você escreve qualquer construtor, o padrão não é mais fornecido automaticamente.

Experimente você mesmo

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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos