Menu
Coddy logo textTech

Классы и объекты

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

Класс — это чертеж, который определяет структуру. Объект — это конкретный экземпляр, созданный на основе этого чертежа.

Класс (чертеж)

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

Создание объектов (экземпляров)

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

Каждый объект независим. Изменение car1 не влияет на car2. Вы можете создавать неограниченное количество объектов из одного и того же класса, каждый со своими собственными данными.

challenge icon

Задание

Средне

Создайте класс Car (чертеж), и программа создаст из него два разных объекта (экземпляра):

  • Поля: brand (String) и year (int)
  • Конструктор, который устанавливает оба поля
  • Метод getInfo(), возвращающий "<brand> (<year>)"

Шпаргалка

Класс — это чертеж, определяющий структуру. Объект — это конкретный экземпляр, созданный на основе этого чертежа.

Определение класса:

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

Создание объектов из класса:

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

Каждый объект независим и обладает собственными данными. Вы можете создавать неограниченное количество объектов на основе одного и того же класса.

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String brand1 = scanner.nextLine();
        int year1 = Integer.parseInt(scanner.nextLine());
        String brand2 = scanner.nextLine();
        int year2 = Integer.parseInt(scanner.nextLine());
        
        Car car1 = new Car(brand1, year1);
        Car car2 = new Car(brand2, year2);
        
        System.out.println("Car 1: " + car1.getInfo());
        System.out.println("Car 2: " + car2.getInfo());
        System.out.println("Same car? " + (car1 == car2));
    }
}
quiz iconПроверьте себя

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

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