Menu
Coddy logo textTech

Метод-конструктор

Часть раздела Объектно-ориентированное программирование путешествия по Java на Coddy. Урок 7 из 87.

constructor — это специальный method, который запускается автоматически, когда вы создаёте объект с помощью new. Он имеет то же имя, что и class, и не имеет типа return.

Базовый Constructor

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

Конструктор по умолчанию (без параметров)

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

Конструктор инициализирует состояние объекта

Book book = new Book("1984", "Orwell");
// Конструктор выполняется немедленно, поля устанавливаются

Если вы не напишете конструктор, Java предоставит пустой конструктор по умолчанию. После того как вы напишете любой конструктор, конструктор по умолчанию больше не предоставляется автоматически.

challenge icon

Задание

Средне

Создай класс Book с constructor, который инициализирует все fields:

  • Приватные fields: title, author (String), pages (int)
  • constructor, который takes все три значения и присваивает их с помощью this
  • Getter method для каждого field
  • Метод getSummary(), возвращающий "<title> by <author> (<pages> pages)"

Попробуйте сами

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 iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор Java