Найти в Дзене
JavaDocs

Что такое класс?

В реальном мире вы найдете множество отдельных объектов одного и того же типа. Могут существовать тысячи других велосипедов, все одинаковой марки и модели. Каждый велосипед был построен на основе одного и того же набора чертежей и, следовательно, содержит одни и те же компоненты. В объектно-ориентированных терминах мы говорим, что ваш велосипед является экземпляром класса объектов, известного как велосипеды. Класс - это схема, на основе которой создаются отдельные объекты.

Следующий класс является одной из возможных реализаций велосипеда:

class Bicycle {

int cadence = 0;
int speed = 0;
int gear = 1;

void changeCadence(int newValue) {
cadence = newValue;
}

void changeGear(int newValue) {
gear = newValue;
}

void speedUp(int increment) {
speed = speed + increment;
}

void applyBrakes(int decrement) {
speed = speed - decrement;
}

void printStates() {
System.out.println("cadence:" +
cadence + " speed:" +
speed + " gear:" + gear);
}
}

Поля cadence, speed и gear представляют состояние объекта, а методы (changeCadence, changeGear, speedUp и т.д.) определяют его взаимодействие с внешним миром.

Возможно, вы заметили, что Bicycle класс не содержит main метода. Это потому, что это не полноценное приложение; это всего лишь схема велосипеда, которая может быть использована в приложении. Ответственность за создание и использование новых Bicycle объектов принадлежит какому-либо другому классу в вашем приложении.

Вот класс, который создает два отдельных Bicycle объекта и вызывает их методы:

class BicycleDemo {
public static void main(String[] args) {

// Create two different
// Bicycle objects
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();

// Invoke methods on
// those objects
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();

bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}

На выходе этого теста выводятся конечные значения частоты вращения педалей, скорости и передачи для двух велосипедов:

cadence:50 speed:10 gear:2
cadence:40 speed:20 gear:3

Наука
7 млн интересуются